【背景】想通过获取nginx客户端的真实ip进行白名单校验
【现象】nginx配置如下:
stream {
server {
listen 1.1.1.1:80;
ssl_preread on;
proxy_connect_timeout 60s;
proxy_pass 127.0.0.1:81;
proxy_protocol on;
}
server {
listen 127.0.0.1:81 proxy_protocol;
proxy_pass 127.0.0.1:80;
}
}
获取到的ip信息如下:
PROXY TCP4 29.87.0.1 29.87.0.110 523 80\r\n
其中想要的源ip为29.87.0.1,但这个是接收端的网关,请问各位dl是有啥配置不对吗?
这里估计理解有点问题proxy_protocol on 这里的意思是转发到后面服务器带上客户端的ip
如果要获取客户端的ip,要nginx接收的时候要拿到客户端的地址才行
你的第二个server是不也得设置proxy_protocol on啊