qidao123.com技术社区-IT企服评测·应用市场

标题: ngx_http_realip_module 模块概述 [打印本页]

作者: 渣渣兔    时间: 4 天前
标题: ngx_http_realip_module 模块概述
一、使用场景


二、示例设置

  1. http {
  2.     # 信任的上游地址列表(CIDR、单 IP 或 unix 域 socket)
  3.     set_real_ip_from  192.168.1.0/24;
  4.     set_real_ip_from  10.0.0.0/8;
  5.     set_real_ip_from  unix:;
  6.     # 指定从哪个请求头获取真实地址
  7.     # 常见的有:X-Real-IP、X-Forwarded-For、proxy_protocol
  8.     real_ip_header    X-Forwarded-For;
  9.     # 开启递归模式时,将跳过链中信任的上游,选取第一个非信任地址
  10.     real_ip_recursive on;
  11.     server {
  12.         listen 80;
  13.         location / {
  14.             # 此时 $remote_addr 是真实客户端 IP
  15.             proxy_pass http://backend;
  16.         }
  17.     }
  18. }
复制代码
三、指令详解

1. set_real_ip_from

  1. Syntax:   set_real_ip_from address | CIDR | unix:;
  2. Default:  —;
  3. Context:  http, server, location
复制代码

   留意
  
  2. real_ip_header

  1. Syntax:   real_ip_header field | X-Real-IP | X-Forwarded-For | proxy_protocol;
  2. Default:  real_ip_header X-Real-IP;
  3. Context:  http, server, location
复制代码

3. real_ip_recursive

  1. Syntax:   real_ip_recursive on | off;
  2. Default:  real_ip_recursive off;
  3. Context:  http, server, location
复制代码

四、内置变量

变量含义$realip_remote_addr原始客户端 IP(被替换前的 $remote_addr)$realip_remote_port原始客户端端口(被替换前的 $remote_port) 这些变量可用于日志或者后续条件判断,方便同时保留“原始代理IP”与“替换后真实IP”。
五、处理流程

六、常见留意事项


通过 ngx_http_realip_module,可以在 Nginx 层面安全、灵活地恢复原始客户端 IP 和端口,为日志、限流、安全防护等功能提供可靠的基础。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4