Nginx不支持add_header指令

时间:2020-10-08 21:11:02

标签: nginx

我在这里忽略了一些非常简单的事情。使用以下配置,用add_header设置的头永远不会实现。我尝试将其添加到两个服务器子句中,并且效果相同。版本是1.19.2

server {
    listen              443 default_server ssl;
    listen              [::]:443 default_server ssl;
    server_name         _;
    ssl_certificate     /etc/ssl/some.crt;
    ssl_certificate_key /etc/ssl/some.key;
}

server {
    listen      443;
    server_name wiki.some.com;
    location / {
        add_header  X-Upstream  "test123";
        proxy_pass http://172.17.0.4:80;
    }
}

对于它的价值,我使用以下php来显示在服务器上收到的标头:

<?php
$headers =  getallheaders();
foreach($headers as $key=>$val){
  echo $key . ': ' . $val . '<br>';
}
?>

1 个答案:

答案 0 :(得分:1)

一个非常常见的初学者错误。 add_header伪指令用于将其他标头添加到nginx发送的响应中,作为对用户浏览器请求的答复。如果要向要后端访问的代理请求中添加附加标头,请使用proxy_set_header指令。