架构
4层代理配置
stream {upstream backend {server 10.4.7.30:80;}server {listen 80;proxy_pass backend;proxy_connect_timeout 1s;proxy_protocol on ; # 主要是把这个参数开上}
}
后端nginx配置
注意这种方式客户端不能够直接访问后端服务器。
conf.d]# cat mywebsite.conf
server {listen 81 proxy_protocol;root /www;
需要修改下日志格式。
http {log_format main '$proxy_protocol_addr $remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_real_ip" "$http_x_forwarded_for"';$proxy_protocol_addr # 这个变量获取到了客户端的真实IP地址。
客户端的真实IP地址。