获取外网ip 与nginx的7层代理
来源:14-4 nginx负载均衡技术精讲(下)

stevenfung
2020-09-28
你好 老师,
我有2个问题:
1
我用nginx01作一个反向代理,这台nginx假设内网ip为192.168.22.101
我再用两台nginx作php的web服务,分别是nginx02,nginx03。当这两台web服务想获取客户使用的外网ip时,就是tp6门面的Request::ip()方法 获取的总是192.168.22.101。如何处理?
是否我没有加以下代码:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
这三行代码是什么意思?
2
我能够实现nginx的4层反向代理。其实就是根据IP+端口来实现代理,不理会应用层的内容
那如何实现7层反向代理?
是否根据url不同来代理到不同的服务?
url不同是否可以认为使用二级域名也是一个7层代理?
写回答
2回答
-
爱因诗贤
2021-05-06
给个demo给你
00 -
爱因诗贤
2021-05-06
$remote_addr 是一个Nginx的内置变量,可以给上游传递客户端真实 IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;这三个就是设置HTTP头部,这个应该也属于七层的
00
相似问题