我在这里忽略了一些非常简单的事情。使用以下配置,用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>';
}
?>
答案 0 :(得分:1)
一个非常常见的初学者错误。 add_header
伪指令用于将其他标头添加到nginx发送的响应中,作为对用户浏览器请求的答复。如果要向要后端访问的代理请求中添加附加标头,请使用proxy_set_header
指令。