一、 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';

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐