Nginx real_ip 模块在某些情况下不起作用

Nginx real_ip 模块在某些情况下不起作用

所以我有 Nginx 代理和一些在其后面运行的服务器。我需要知道真实用户的 IP 而不是代理,所以我使用 real_ip 模块。一切都按预期工作,但如果我配置 vhost 像 subdomain.domain.com 后端获取 Nginx 代理 IP。

这是我的 Nginx 配置示例

set_real_ip_from  192.168.2.0/24;
real_ip_header    X-Forwarded-For;
real_ip_recursive on;

upstream srv1 { server 192.168.2.12:80; }

server {

        listen       80;
        server_name  dev.somedomain.com;

        location / {
         proxy_pass  http://srv1;
       }

}

server {

        listen       80;
        server_name  somedomain.com;

        location / {
          proxy_pass  http://srv1;
        }

}

因此,如果我转到 somedomain.com 后端接收真实 IP,这里没有问题。但对于 dev.somedomain.com 后端接收代理 IP!

这只是简化的示例,不同域和子域的情况相同......

我只是不明白这里出了什么问题……

答案1

好的,这似乎是我的错误,这个配置一切都很好,我需要在后端采取额外的步骤来完成我的任务,至于具体的例子,我需要在后端服务器(litespeed web 服务器)中设置选项“在标头中使用客户端 IP”我一定是意外禁用了它。

相关内容