Chrome浏览器说,即使我可以在网络日志中看到CORS标头,也无法找到它们

问题描述

我不想成为另一个提出CORS问题的人,但是我实在很沮丧。 Chrome告诉我缺少Access-Control-Allow-Origin标头,但是我可以在OPTION请求的响应标头中看到它。奇怪的是,在其他几个页面上,我还有其他CORS请求,这些请求具有完全相同的请求方法(GET),标头,并接收可以正常工作的相同响应标头。我在没有查询字符串的情况下尝试了它,并且也失败了。我讨厌CORS。

顺便说一句,因为它只是一个令牌刷新,所以可以忽略401请求。如果刷新页面,我没有得到401,但CORS仍然失败。

Broken CORS

解决方法

处理此问题的最佳方法是使用反向代理。设置nginx / webpack以反向代理服务器请求。您不会遇到任何问题。

示例反向代理/ api / => localhost:5000。如果使用cors扩展或库。它可能在您的本地计算机上解决。在生产环境中部署此代码时,您将再次面临相同的问题。

,

好的,我发现了问题所在。 Flask视图功能中实际上存在一个服务器问题,导致错误响应并返回500。必须检查docker日志才能找到它。尽管Chrome开发者工具告诉我,CORS设置实际上没有问题。因此,如果将来有人遇到这种情况,请注意,CORS实际上可能还不错,Chrome只是将服务器错误解释为CORS问题。我觉得这是Chrome中的错误。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...