我目前正在尝试让 nginx 在发送某种 50* 错误时向响应添加标头。我已经在 http 块上有一个 add_header 指令,并且所有请求都得到尊重,除了它似乎是错误的。我还在我的一个虚拟主机中尝试了以下操作:
location /mediocregopheristhecoolest {
add_header X-Test "blahblahblah";
return 502;
}
转到那个页面给我一个 502,但没有标题。这只是 nginx 不做的事情,还是我做错了?
从 Nginx 1.7.5 开始,您可以使用
always
添加标头而不考虑响应代码:文档指出 add_header “将指定字段添加到响应标头,前提是响应代码等于 200、204、206、301、302、303、304 或 307。值可以包含变量。” 所以它不适用于 502。
我忘了补充一点,您可以使用第三方标头更多模块将标头添加到其他代码中。不过,您可能必须重新编译才能添加它。