背景
剛剛上線了一個服務(wù),其他客戶需要在跨域情況下對于服務(wù)進行調(diào)用,幾次嘗試之后,終于成功調(diào)用了。本文解決 nginx + spring boot + juery 情況下的跨域處理
操作如下
使用nginx配置好以下內(nèi)容:
server {
listen 80;
server_name xxx.com;
location /data/ {
proxy_pass 轉(zhuǎn)發(fā)地址;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Max-Age 60000;
add_header Access-Control-Allow-Credentials true
}
}
正常情況下上面的配置即可 完成服務(wù)的跨域配置。由于我是在jquery語言下進行處理,所以存在如下異常:
jquery 請求
$.ajax({
type : "POST",
url : "請求地址",
dataType: "json",
data : param,
contentType:"application/json;charset=utf-8",
success : function(data) {
alert("成功");
}
});
運行結(jié)果
描述
我們注意到 這里是請求失敗了,同時出現(xiàn)兩次請求 一次為OPTIONS方法的請求,一次為引薦來源網(wǎng)址政策: strict-origin-when-cross-origin。說明由于OPTIONS請求失敗,導(dǎo)致不能得到正確的響應(yīng)結(jié)果文章來源:http://www.zghlxwxcb.cn/news/detail-506666.html
處理
nginx配置文件中繼續(xù)修改如下內(nèi)容,讓OPTIONS請求成功文章來源地址http://www.zghlxwxcb.cn/news/detail-506666.html
server {
listen 80;
server_name xxx.com;
location /data/ {
proxy_pass 轉(zhuǎn)發(fā)地址;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Max-Age 60000;
add_header Access-Control-Allow-Credentials true;
if ( $request_method = OPTIONS ){
return 200;
}
}
}
到了這里,關(guān)于strict-origin-when-cross-origin 403 異常解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!