
Nginx跨域设置:解决非200状态码下无法添加响应头的难题
在进行跨域资源共享(CORS)配置时,经常需要使用Nginx添加响应头信息。然而,一些用户发现,只有当状态码为200时,才能成功添加响应头,而其他状态码下则无法生效。
问题分析
该问题通常源于Nginx的add_header指令缺少always选项。
解决方案
为了确保无论状态码为何值,都能正确添加跨域响应头,需要在add_header指令中添加always选项。 正确的Nginx配置如下:
<code class="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;</code>
always选项的意义
always选项指示Nginx始终添加指定的响应头,而不会根据状态码进行条件判断。 这样,即使出现错误状态码(例如404或500),跨域响应头也能被正确添加到响应中。
以上就是Nginx跨域配置:为什么状态码非200时无法添加头部?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号