
Nginx跨域设置:解决非200状态码下无法添加响应头的难题
在进行跨域资源共享(CORS)配置时,经常需要使用Nginx添加响应头信息。然而,一些用户发现,只有当状态码为200时,才能成功添加响应头,而其他状态码下则无法生效。
问题分析
该问题通常源于Nginx的add_header指令缺少always选项。
解决方案
为了确保无论状态码为何值,都能正确添加跨域响应头,需要在add_header指令中添加always选项。 正确的Nginx配置如下:
add_header Access-Control-Allow-Origin * always; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT, DELETE' always; add_header Access-Control-Allow-Headers '*' always;
登录后复制
always选项的意义
always选项指示Nginx始终添加指定的响应头,而不会根据状态码进行条件判断。 这样,即使出现错误状态码(例如404或500),跨域响应头也能被正确添加到响应中。
以上就是Nginx跨域配置:为什么状态码非200时无法添加头部?的详细内容,更多请关注php中文网其它相关文章!