Nginx add_header 用于 50* 页面

Nginx add_header 用于 50* 页面

我目前正在尝试让 nginx 在发送某种 50* 错误时向响应添加标头。我在 http 块上已经有一个 add_header 指令,并且除了似乎错误之外,所有请求都会得到尊重。我还在我的一个虚拟主机中尝试了以下内容:

location /mediocregopheristhecoolest {
    add_header X-Test "blahblahblah";
    return 502;                                                                                                    
}       

访问该页面时出现 502 错误,但没有标头。这只是 nginx 无法执行的操作,还是我做错了?

答案1

文档指出 add_header“如果响应代码等于 200、204、206、301、302、303、304 或 307,则将指定字段添加到响应标头。值可以包含变量。”所以它不适用于 502。

我忘了补充一下,你可以使用第三方标题更多模块来向其他代码添加标头。不过,您可能需要重新编译才能添加它。

答案2

从 Nginx 1.7.5 开始,你可以使用always添加标头而不管响应代码如何:

add_header X-Test "blahblahblah" always;

相关内容