Chrome 说 CORS headers 丢失,即使我可以在网络日志中看到它们
Chrome says CORS headers are missing even when I can see them in network logs
我不想成为问另一个 CORS 问题的人,但老实说我被难住了。 Chrome 告诉我缺少 Access-Control-Allow-Origin header,但我可以在 OPTION 请求的响应 header 中看到它。奇怪的是,在其他几个页面上,我有其他 CORS 请求,它们具有完全相同的请求方法 (GET),headers,并收到相同的响应 headers,工作正常。我在没有查询字符串的情况下尝试过,但也失败了。我讨厌 CORS。
顺便说一句,可以忽略 401 请求,因为它只是一个令牌刷新。如果我刷新页面,我没有收到 401,但 CORS 仍然失败。
处理此问题的最佳方法是使用反向代理。设置 nginx/webpack 以反向代理您的服务器请求。您不会 运行 遇到任何 cors 问题。
示例反向代理/api/ => localhost:5000。如果您使用 cors 扩展或库。它可能会在您的本地计算机上解析。当您在生产中部署此代码时,您将再次面临同样的问题。
好的,我找到问题了。 Flask 视图函数中实际上存在一个服务器问题,导致响应出错并 return 500。必须检查 docker 日志才能找到它。尽管 Chrome 开发工具告诉我什么,但 CORS 设置实际上没有问题。因此,如果将来有人遇到这种情况,请注意 CORS 实际上可能没问题,Chrome 只是将服务器错误解释为 CORS 问题。我觉得这是 Chrome..
中的错误
我不想成为问另一个 CORS 问题的人,但老实说我被难住了。 Chrome 告诉我缺少 Access-Control-Allow-Origin header,但我可以在 OPTION 请求的响应 header 中看到它。奇怪的是,在其他几个页面上,我有其他 CORS 请求,它们具有完全相同的请求方法 (GET),headers,并收到相同的响应 headers,工作正常。我在没有查询字符串的情况下尝试过,但也失败了。我讨厌 CORS。
顺便说一句,可以忽略 401 请求,因为它只是一个令牌刷新。如果我刷新页面,我没有收到 401,但 CORS 仍然失败。
处理此问题的最佳方法是使用反向代理。设置 nginx/webpack 以反向代理您的服务器请求。您不会 运行 遇到任何 cors 问题。
示例反向代理/api/ => localhost:5000。如果您使用 cors 扩展或库。它可能会在您的本地计算机上解析。当您在生产中部署此代码时,您将再次面临同样的问题。
好的,我找到问题了。 Flask 视图函数中实际上存在一个服务器问题,导致响应出错并 return 500。必须检查 docker 日志才能找到它。尽管 Chrome 开发工具告诉我什么,但 CORS 设置实际上没有问题。因此,如果将来有人遇到这种情况,请注意 CORS 实际上可能没问题,Chrome 只是将服务器错误解释为 CORS 问题。我觉得这是 Chrome..
中的错误