问题描述
我不想成为另一个提出CORS问题的人,但是我实在很沮丧。 Chrome告诉我缺少Access-Control-Allow-Origin标头,但是我可以在OPTION请求的响应标头中看到它。奇怪的是,在其他几个页面上,我还有其他CORS请求,这些请求具有完全相同的请求方法(GET),标头,并接收可以正常工作的相同响应标头。我在没有查询字符串的情况下尝试了它,并且也失败了。我讨厌CORS。
顺便说一句,因为它只是一个令牌刷新,所以可以忽略401请求。如果刷新页面,我没有得到401,但CORS仍然失败。
解决方法
处理此问题的最佳方法是使用反向代理。设置nginx / webpack以反向代理服务器请求。您不会遇到任何问题。
示例反向代理/ api / => localhost:5000。如果使用cors扩展或库。它可能在您的本地计算机上解决。在生产环境中部署此代码时,您将再次面临相同的问题。
,好的,我发现了问题所在。 Flask视图功能中实际上存在一个服务器问题,导致错误响应并返回500。必须检查docker日志才能找到它。尽管Chrome开发者工具告诉我,CORS设置实际上没有问题。因此,如果将来有人遇到这种情况,请注意,CORS实际上可能还不错,Chrome只是将服务器错误解释为CORS问题。我觉得这是Chrome中的错误。