小编Aqu*_*ion的帖子

如何让 nginx 在代理时不覆盖 x-forwarded-for?

我在负载均衡器后面有一个 nginx 服务器,nginx 服务器将请求传递到各种服务,但在本例中是一个运行 apache 的 docker 容器。负载均衡器正确设置了 X-Forwarded-For,但当它到达 docker 容器时,X-Forwarded-For 已设置为 LB IP。

我在 nginx 配置中有这个:

/etc/nginx/conf.d/real_ip.conf
set_real_ip_from {{LB IP}};
real_ip_header X-Real-IP;
real_ip_recursive on;
Run Code Online (Sandbox Code Playgroud)

这是虚拟主机:

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name *.domain domain;
    include /etc/nginx/snippets/domain_ssl.conf;

  add_header X-Nginx-Debug "hi";

  proxy_pass_request_headers on;

  location    / {
    proxy_pass_request_headers on;
    proxy_pass  http://container-php;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Remote-Addr $remote_addr;
    proxy_set_header X-Real-IP $http_x_real_ip;
    proxy_set_header X-Header-Test "Hello World - $http_x_forwarded_for";
    proxy_set_header X-Forwarded-Proto $scheme; …
Run Code Online (Sandbox Code Playgroud)

nginx reverse-proxy nginx-reverse-proxy

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

nginx ×1

nginx-reverse-proxy ×1

reverse-proxy ×1