【问题解决】'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.
问题复述
今天项目组有人找我说之前部署的程序在测试环境没问题,到生产环境出现了奇怪的问题,点按钮没反应。
我通过腾讯会议发现他们的浏览器控制台上打出了如下错误:
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
版权声明:本作品采用自由转载-非商用-非衍生-保持署名 (CC BY-NC-ND 3.0)许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步