最近在开发一个小项目时,使用Tomcat部署了一个后端SpringBoot项目,然后将前端接口和跨域请求部署到对应的tomcat集群A上,域问题发生了,解决过程很有趣,特记录在这里。
Nginx-Domain配置方法一
严格来说,这种方法不属于跨域请求,因为这种配置要求后端请求的URL为http://shop。
mk-shop.com/mk-shop-api/xxxx,也就是说前端项目的请求地址要改成和进入客户端页面时的URL地址一样,所以好像没有那里存在跨域问题。
如果前端项目的不同模块的请求地址不同,则必须全部更改。
Nginx-Domain配置方法二
SpringBoot后端进行跨域处理时,可以配置过滤器来实现
注意:新的SpringBoot版本在使用setAllowedOrigins*时可能会报错,应该改用setAllowedOriginPatterns。
Nginx的CORS配置,网上这样的配置太多了,但大多数人复制粘贴转发,几乎都是类似下面三两行:
add_headerAccess-Control-Allow-Origin*;
add_headerAccess-Control-Allow-HeadersX-Requested-With;
add_headerAccess-Control-Allow-MethodsGET、POST、OPTIONS;
这有用吗?有用,我以前都是这样正常使用的,但是后来还是遇到了问题。 发现有的项目请求不成功,有的浏览器成功,有的浏览器不成功;
参考Nginx解决前端跨域问题Linux部署和配置nginx。
上一篇:正确的nginx跨域配置
下一篇:nginx允许跨域访问