我是一个跨域的请求,在我的网络应用程序。
我已经在Nginx上设置了CORS头。一切正常,除非服务返回一个错误,比如404、400、500等,而不是接收错误代码,服务失败了,出现了一个错误,上面写着Origin *********** is not allowed by Access-Control-Allow-Origin。
知道为什么会发生这种事吗?
这就是nginx设置的样子;
location /api {
add_header Access-Control-Allow-Origin *;
}发布于 2012-09-24 23:49:27
不幸的是,除了200、204、301、302或304之外,add_header将无法使用状态代码。你可以找到这个在这里的文档中。
你可以使用这个插件来做你想做的事情:
发布于 2018-05-07 04:06:55
您可以使用起始于nginx1.7.5的始终指令(* Feature:"add_header“指令的”始终“参数)。
add_header 'Access-Control-Allow-Origin' '*' always;发布于 2015-06-24 15:57:55
我可以确认标头_更多模块(在这个答案中提到)可以用于为所有HTTP响应添加报头,而不管状态代码如何。
注意:您可能需要在https://github.com/openresty/headers-more-nginx-module/issues/24上使用Nginx构建此模块的解决方案,但是一旦编译到Windows上,它就可以正常工作了。
https://serverfault.com/questions/431274
复制相似问题