Nginx 无法获取真实 IP 地址,因为 realip_remote_addr 和 remote_addr 具有相同的值

Nginx 无法获取真实 IP 地址,因为 realip_remote_addr 和 remote_addr 具有相同的值

$realip_remote_addr$remote_addr对于 html 块内定义的所有行组合都有相等的值:

  • 设置真实ip为192.168.2.1;
  • real_ip_header X-Real-IP; 或 real_ip_header X-Forwarded-For;
  • 有或没有:real_ip_recursive 开启;

日志格式为:'realip="$realip_remote_addr" ' '$remote_addr - $remote_user [$time_local] "$request"

我总是得到相同的值$realip_remote_addr$remote_addr例如

“realip=”192.168.2.1“ 192.168.2.1 - - [19/Jun/2020:09:32:23 +0200] “获取”...

我期望并想要类似这样的东西:“realip=”132.156.21.41“192.168.2.1--[19/Jun/2020:09:32:23 +0200]“GET”…我做错了什么?

答案1

我使用 cloudflare,并且只将代理状态设置为“dns 查找”。当更改为“代理”时,cloudflare 添加的标头可用于 real_user_ip 地址。

相关内容