请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Nginx tcp负载均衡获取真实ip

我们现在想对Netty使用nginx做负载均衡,但是发现服务器收到的IP都是ngnix服务器的IP而不是设备的真实IP,不知道您有没有做过相关的,或者有没有别的负载均衡可以转发设备的真实IP

正在回答 回答被采纳积分+3

插入代码

1回答

好帮手慕小蓝 2025-02-11 17:25:57

您可以通过配置 Nginx 来获取客户端的真实 IP 地址。以下是解决方案:

    1.配置 Nginx 获取客户端真实 IP

  • 需要确保 Nginx 能够正确解析来自上游代理或负载均衡器的 X-Forwarded-For 头部信息。通过配置 real_ip_headerset_real_ip_from,Nginx 可以将 $remote_addr 更新为客户端的真实 IP。

  • 示例配置:

1
2
3
4
5
6
7
8
9
10
11
http {
     include       mime.types;
     default_type  application/octet-stream;
     server_tokens off;
     # 设置真实 IP 的头部信息
     real_ip_header X-Forwarded-For;
     # 指定可信任的上游代理 IP 范围,这里以 172.0.0.0/8 为例(就是你负载均衡的ip网段)
     set_real_ip_from 172.0.0.0/8;
     # 其他配置
     ...
 }
1
2
- `real_ip_header X-Forwarded-For;`:指定从哪个头部获取客户端的真实 IP 地址。常见的头部包括 `X-Forwarded-For`、`X-Real-IP` 等。
- `set_real_ip_from 172.0.0.0/8;`:指定哪些 IP 地址的请求可以被信任。如果请求来自这些地址段,那么 Nginx 会根据 `real_ip_header` 的配置更新 `$remote_addr`。

     2.Nginx 四层负载均衡获取客户端真实 IP 地址

  • Nginx 负载均衡是 Nginx 的核心功能之一,工作在第七层。它是除了 LVS、HAProxy 之外市面上较为流行的负载均衡软件

    3.获取真实 IP 的配置

  • 配置 Nginx 获取客户端真实 IP 的基本配置说明,需要确保 Nginx 能够正确解析来自上游代理或负载均衡器的 X-Forwarded-For 头部信息

    4.Nginx 负载均衡 怎么获取真实 IP

  • 配置 Nginx 获取客户端真实 IP 的基本配置说明,需要确保 Nginx 能够正确解析来自上游代理或负载均衡器的 X-Forwarded-For 头部信息


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号