我在容器化应用程序中使用nginx作为反向代理。我遇到一个问题,当我添加proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
时,我的部署无法正常工作。
这是我的nginx.conf
文件中的位置块的一部分。
location @app {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_set_header X-Real-IP $remote_addr;
}
但是当我将$proxy_add_x_forwarded_for
替换为http_x_forwarded_for
时,部署工作正常,但是我无法传递真实的客户端IP。
有人可以确认这在语法上是否正确,我们可以在 proxy_pass 之后添加proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
吗?
答案 0 :(得分:0)
我可以确认
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
是正确的。
我正在运行位置栏:
location / {
proxy_pass http://127.0.0.1:3333;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
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-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}