Nginx伪造IP地址与proxy_pass



我需要代理请求,好像它来自本地主机。我尝试了以下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(用户必须通过环回访问)

你缺少一个Nginx标头,proxy_bind

proxy_bind 127.0.0.1;

以下是有关其效果的文档:

使与代理服务器的传出连接源自指定的本地 IP 地址

这听起来正是您所需要的。您可能不需要设置为 127.0.0.1 的其他标头。

最新更新