Nginx 代理头变量不起作用

Nginx 代理头变量不起作用

我正在尝试使用 nginx 设置负载均衡器。

我遇到的问题是,当我尝试使用 proxy_set_header 时,变量 $host 不起作用

当我尝试去http://proxy.domain.com给我一个 404 错误,当我检查日志时给我这个。

server: proxy.domain.com, request: "GET / HTTP/1.0", upstream: "http://1.2.3.4:80/", host: "proxy.domain.com"

如果这里没问题的话,IP 1.2.3.4 是 ss.domain.com 的真实 IP,但是为什么给我这个 http://1.2.3.4:80/而不是我的域名,因为这会给我错误 404 并且没有查找正确的虚拟主机。

我配置了以下代理设置:

upstream s3 {
    server ss.domain.com weight=2;
    server vv.domain.com;
}
server {
    listen 80;
    listen [::]:80;
    server_name proxy.domain.com;
    root /var/www/proxy.domain.com/html;

    location / {
        proxy_pass http://s3;
        proxy_set_header    Host               $host;
        proxy_set_header    X-Real-IP          $remote_addr;
        proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Host   $host;
        proxy_set_header    X-Forwarded-Server $host;
        proxy_set_header    X-Forwarded-Port   $server_port;
        proxy_set_header    X-Forwarded-Proto  $scheme;
    }
}   

相关内容