一、 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';
本文详细介绍了如何在Nginx中禁止OPTIONS请求并启用跨域功能,包括修改nginx配置、重启服务以及使用curl验证。同时展示了如何通过header配置来解决跨域问题,并提供了示例配置。
2299

被折叠的 条评论
为什么被折叠?



