当前位置: 首页 > article >正文

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

流量路径

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

nginx1配置

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配置

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配置

http {  
    ...  
    real_ip_header X-Forwarded-For;  
    set_real_ip_from nginx2的IP地址;  
    ...  
    server {  
        ...  
        location / {  
        	# 具体分拆前端后端的location
            # 你的其他配置指令  
            add_header X-Real-IP $remote_addr; # 可选,用于调试目的  
        }  
    }  
    ...  
}


http://www.kler.cn/a/271306.html

相关文章:

  • 【运维】StarRocks数据迁移到新集群(针对于集群互通、不互通的情况)
  • Kubernetes kafka系列 | k8s部署kafka+zookeepe集群(可外部通信)
  • 15.7k stars一个实用型OCR,支持80多种语言
  • Day39:安全开发-JavaEE应用SpringBoot框架Actuator监控泄漏Swagger自动化
  • 如何保存缓存和MySQL的双写一致呢?
  • 图解缓存淘汰算法 LRU、LFU | 最近最少使用、最不经常使用算法 | go语言实现
  • 数据可视化-ECharts Html项目实战(1)
  • 24计算机考研调剂 | 南昌航空大学
  • 02python计算与变量
  • 一体成型PFA尖头镊子高纯特氟龙材质镊子适用半导体新材料
  • Docker 解析:使用 Dockerfile 自动构建镜像
  • mybatis的where标签?
  • 网络爬虫丨基于scrapy+mysql爬取博客信息
  • pyflink1.18.0 keyby之后使用自定义keyedProcessfunction报错
  • Docker 镜像源配置
  • BS4网络提取selenium.chrome.WebDriver类的方法及属性
  • 安装python、pycharm,打好基础,准备飞起
  • 二进制安全找实习记录
  • Websocket服务监听收发消息
  • 发现数据之美:探索数据可视化的艺术与技术