今天项目组有人找我说之前部署的程序在测试环境没问题,到生产环境出现了奇怪的问题,点按钮没反应。
我通过腾讯会议发现他们的浏览器控制台上打出了如下错误:
Access to XMLHttpRequest at 'https://aaa.bbb.ccc' from origin 'https://ddd.bbb.ccc' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.
很奇怪,CORS 相关的一般是跨域问题啊,怎么会这样呢?我注意到一点异常如下图,竟然设置了2次重复的跨域响应头!
在根据错误查到原因就是 Access-Control-Allow-Origin
响应头重复设置导致跨域设置失败,去掉其中一个就可以了。
找到那个项目的主程,问他是不是在代码中添加了解决跨域的响应头,回复是肯定的。他的代码如下:
现在正在上线,改代码肯定不现实了,改下Nginx的配置吧,如下注释掉两行配置并reload,问题得以解决。
本次就分享这些,我是Hellxz,我们下次再见。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.cnblogs.com/hellxz/p/16208188.html
内容来源于网络,如有侵权,请联系作者删除!