获取 Nginx 正在接收请求的网络接口

获取 Nginx 正在接收请求的网络接口

我有一台具有多个网络接口的服务器,我想编写一个代理服务器来监听所有这些 IP。

我目前的配置:

server {
    listen          111.111.111.111:40000;
    listen          111.111.111.222:40000;
    location / {
        resolver    8.8.8.8;
        proxy_bind  <listen interface here>;
        proxy_pass  http://$host;
    }
}

如果我省略proxy_bind指令,Nginx 将从默认 IP 发送请求,而不是我发送请求的 IP。

可以修复这个问题吗?如果我能获取 IP,请求就会到达,这就能解决我的问题。

答案1

您是否尝试过:

proxy_bind $server_addr;

我不能 100% 确定该变量是否在代理配置中可用。但它应该包含特定连接的地址。

相关内容