nginx多级代理配置获取客户端真实ip

流量路径

客户端 nginx1 nginx2 nginx3 后端服务 前端页面

nginx1配置

shell 复制代码
server {  
    listen 80;  
    server_name your_nginx_server.com;  
  
    location / {  
        proxy_pass http://nginx2_server_address;  
        proxy_set_header Host $host;  
        proxy_set_header X-Real-IP $remote_addr;  
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
        proxy_set_header X-Forwarded-Proto $scheme;  
    }  
}
# proxy_pass指令指定了请求应该被转发到的nginx2的地址。
# proxy_set_header指令用于设置转发到nginx2的HTTP头部。这里我们设置了X-Real-IP和X-Forwarded-For,以便nginx2可以获取到原始客户端的IP地址。

# proxy_set_header Host $host;
# 将原始请求的 Host 头字段传递给代理服务器。

# proxy_set_header X-Real-IP $remote_addr;
# 向代理服务器传递客户端的真实 IP 地址。

# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 确保代理服务器知道请求经过的所有代理的 IP 地址列表

# proxy_set_header X-Forwarded-Proto $scheme;
# 向代理服务器传递原始请求的协议类型(http 或 https)。

nginx2配置

shell 复制代码
http {  
    ...  
    real_ip_header X-Forwarded-For;  
    set_real_ip_from nginx1的IP地址;  
    ...  
    server {  
        ...  
        location / {  
        	proxy_pass http://nginx3_server_address; 
        	proxy_set_header Host $host;  
        	proxy_set_header X-Real-IP $remote_addr;  
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
        	proxy_set_header X-Forwarded-Proto $scheme; 
            # 你的其他配置指令  

        }  
    }  
    ...  
}

nginx3配置

shell 复制代码
http {  
    ...  
    real_ip_header X-Forwarded-For;  
    set_real_ip_from nginx2的IP地址;  
    ...  
    server {  
        ...  
        location / {  
        	# 具体分拆前端后端的location
            # 你的其他配置指令  
            add_header X-Real-IP $remote_addr; # 可选,用于调试目的  
        }  
    }  
    ...  
}
相关推荐
游戏开发爱好者87 分钟前
使用克魔助手查看iOS 应用程序使用历史记录和耗能历史记录
websocket·网络协议·tcp/ip·http·网络安全·https·udp
教练、我想打篮球1 小时前
14 nginx 的 dns 缓存的流程
nginx·dns·nslookup
ZZZCY20032 小时前
python自动登录远程设备的几种方式(华为设备)
运维·服务器·网络
Ronin-Lotus2 小时前
嵌入式通信篇---通信频段
linux·运维·网络·通信·频段
lgily-12253 小时前
Linux机器测试IP及端口连通性方法记录
linux·运维·tcp/ip
帝锦_li4 小时前
Docker
运维·docker·容器
小萌新上大分4 小时前
nginx入门,部署静态资源,反向代理,负载均衡使用
nginx·spring cloud·nginx配置·nginx部署前端项目·nginx负载均衡策略·nginx反向代理配置
_zwy4 小时前
【Linux 进程控制】—— 进程亦生生不息:起于鸿蒙,守若空谷,归于太虚
linux·运维·服务器·c++
左灯右行的爱情4 小时前
计算机网络-TCP可靠传输机制
网络·tcp/ip·计算机网络
杨凯凡4 小时前
Linux目录探秘:文件系统的核心架构
linux·运维·服务器·架构