一、 Nginx 设置禁用 OPTIONS 请求
1、修改 nginx 配置
在 nginx.conf 配置文件中,增加如下内容:
if ($request_method ~* OPTIONS) {
return 403;
}
效果如下:(如果配置了SSL,则需要在SSL也配置一下)
2、重启 nginx 服务
/usr/local/nginx/sbin -s reload
systemctl restart nginx
service nginx restart
3、功能验证
使用如下命令:
curl -v -X OPTIONS http://localhost:8080/
或者使用 postman 等浏览器模拟器访问验证
效果如下:
二、 Nginx允许跨域
解决方法:通过配置 header方式解决跨域
修改nginx server 配置,添加如下内容
#允许跨域请求的域,* 代表所有
add_header Access-Control-Allow-Origin '*';
#允许请求的header
add_header 'Access-Control-Allow-Headers' *;
#允许带上cookie请求
add_header Access-Control-Allow-Credentials 'true';
#允许请求的方法,比如 GET,POST,PUT,DELETE
add_header Access-Control-Allow-Methods '*';
样例:
location /lthce/getBiata {
proxy_pass http://192.141.208.166:8920/lthce/getBiata;
proxy_http_version 1.1;
proxy_set_header Connection "";
add_header Access-Control-Allow-Origin '*';
add_header Access-Control-Allow-Headers Authorization;
add_header Access-Control-Allow-Methods GET,POST;
}
注意:若考虑到安全性,也可以指定访问来源请求的域,示例:
add_header 'Access-Control-Allow-Origin' 'http://test1.xqiangme.top';