服务器返回错误时如何使nginx CORS配置工作?

guy*_*abi 6 nginx cors

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

我已根据此配置了我的Nginx:https : //michielkalkman.com/snippets/nginx-cors-open-configuration.html

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

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

Luc*_*tto 6

从1.7.5版开始always,无论响应代码如何,都可以使用关键字返回标头:

add_header 'Access-Control-Allow-Origin' '*' always;
Run Code Online (Sandbox Code Playgroud)

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


Rya*_*yan 4

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

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