昨天用新的机器+新的域名搭建同一个站点后,前端调用接口一直提示跨域问题,用的同一套项目,以前的项目中就没提示跨域,项目用的是laravel-cors来解决跨域问题,所以用的同一套代码不太可能是laravel-cors中出了问题。
这边和同事最后排查了下,应该是nginx那边出了问题,所以和运维确认下两个站点的nginx的配置是否一致,最后发现是下面这里导致的跨域失败。
// 如果站点有如下配置,删除试下是否能解决跨域问题,Access-Control-Allow-Origin导致laravel-cors拿不到来源信息
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' '*';
add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';