在web系統(tǒng)中,安全軟件掃描經(jīng)常會發(fā)現(xiàn)CORS(跨域資源共享)作為高危漏洞出現(xiàn)。本文提供用Nginx作為反向代理的解決方案。解決方式是在nginx.conf文件中做如下配置:
set $cors "";
if ($http_origin ~* "^http?://.*\.xxxx\.com$") {
set $cors $http_origin;
}
more_set_headers 'Access-Control-Allow-Origin: $cors';
more_set_headers 'Access-Control-Allow-Credentials: true';
more_set_headers 'Access-Control-Allow-Methods: GET,POST,OPTIONS';
more_set_headers 'Access-Control-Allow-Headers: token,Authorization,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
more_set_headers 'Access-Control-Max-Age: 86400';
注意:
1、“xxxx.com"是示例域名,按你實際用到的更改。如果有多個外部域名,則逐一按if方式處理。不建議用”*“來代替所有。
2、配置位置1:在http中所有server之前,但可能不生效。不生效則用配置位置2方式。
3、配置位置2:放在server中的location部分之前。如果很多server,可單獨放在一個文件中(如nginx.cors.item),在配置位置用下面語句引入:
#跨域配置
include /usr/local/nginx/conf/nginx.cors.item;
4、在location不要配置add_header,否則本處配置不生效。文章來源:http://www.zghlxwxcb.cn/news/detail-552071.html
這篇文章如果對您有所幫助或者啟發(fā)的話,幫忙關(guān)注或點贊,有問題請評論,必有所復(fù)。您的支持是我寫作的最大動力!文章來源地址http://www.zghlxwxcb.cn/news/detail-552071.html
到了這里,關(guān)于CORS(跨域資源共享)源驗證失敗解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!