【问题标题】:Flask CORS not working with Nginx in production but working on local without nginxFlask CORS 在生产中不能与 Nginx 一起工作,但在没有 nginx 的情况下在本地工作
【发布时间】:2021-04-27 02:16:24
【问题描述】:

我目前有一个问题,我设置了一个烧瓶应用程序

CORS(app)

但是我得到了各种 COR 的错误作为响应。不过,这只发生在生产中。 我收到类似的错误

Access to XMLHttpRequest at 'https://example.com' from origin 'https://2e11e606fda6.ngrok.io' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

或者

Access to XMLHttpRequest at 'https://example.com' from origin 'https://2e11e606fda6.ngrok.io' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed

我还通过 nginx location / 块尝试了标头中 CORS 请求的不同变体,但这会导致一些相同类型的错误。

任何帮助将不胜感激。

【问题讨论】:

    标签: nginx flask


    【解决方案1】:

    所以经过几个小时的精疲力尽。我偶然发现了 nginx 访问日志。

    那里显示错误代码 413

    从那里我能够修复我的 nginx 配置以允许文件上传工作。所以看来CORS问题其实并不总是关于cors,而是nginx报错的方式。

    【讨论】:

    • CORS 是一件棘手的事情,特别是在 Flask 中。如果发生回溯,可能不会调用 Flask-CORS 请求处理程序并且不会添加标头。在生产中,通过 NGINX 添加 CORS 标头可能很有用,看看这个答案:serverfault.com/a/176729
    猜你喜欢
    • 2015-06-25
    • 1970-01-01
    • 2016-07-16
    • 2018-03-23
    • 2020-03-07
    • 2018-01-10
    • 2021-06-01
    • 2018-08-01
    • 2021-09-21
    相关资源
    最近更新 更多