Nginx使用proxy_pass伪造ip地址

时间:2016-01-28 17:14:00

标签: nginx

我需要一个代理请求,好像它来自localhost。我尝试了nginx配置:

proxy_set_header  Host            "127.0.0.1";
proxy_set_header  X-Real-IP       "127.0.0.1";
proxy_set_header  X-Forwarded-For "127.0.0.1";

proxy_read_timeout 10m;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:15674/stomp/websocket;

然而,基础后端仍然能够识别,该请求不是本地的:

  

STOMP登录失败 - access_refused(用户必须通过环回访问)

1 个答案:

答案 0 :(得分:0)

您缺少一个Nginx标头,proxy_bind

proxy_bind 127.0.0.1;

以下是有关此功能影响的文档:

建立到代理服务器的传出连接源自指定的本地IP地址

听起来就像你需要的那样。您可能不需要设置为127.0.0.1的其他标头。