【问题标题】:How to make nginx CORS configuration work when server returns error?服务器返回错误时如何使nginx CORS配置工作?
【发布时间】:2015-03-25 12:10:16
【问题描述】:

我想将 CORS 添加到我的服务器。

我已经按照这个配置了我的nginx:https://michielkalkman.com/snippets/nginx-cors-open-configuration.html

服务器返回 200 时似乎可以正常工作。 但是,如果服务器返回其他内容,例如请求错误时返回 400,或者内部错误时返回 500,浏览器会显示No 'Access-Control-Allow-Origin' header,而不是像应有的那样到达错误处理程序。

我缺少什么配置才能使其正常工作?

【问题讨论】:

    标签: nginx cors


    【解决方案1】:

    从 1.7.5 版开始,您可以使用 always 关键字来返回标头,而不管响应代码如何:

    add_header 'Access-Control-Allow-Origin' '*' always;
    

    http://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header

    【讨论】:

    • 这对我有用。
    【解决方案2】:

    这个问题之前已经回答过:https://serverfault.com/questions/431274/nginx-services-fails-for-cross-domain-requests-if-the-service-returns-error

    add-header 不适用于 HTTP 错误,但可选的 headers_more 模块可用于解决此限制。

    【讨论】:

      猜你喜欢
      • 2019-03-26
      • 2017-08-02
      • 2015-07-16
      • 1970-01-01
      • 2020-10-27
      • 2021-05-30
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      相关资源
      最近更新 更多