Nginx 配置之反向代理获取真实 IP

Nginx IP 反向代理 大约 1047 字

方法

保留代理之前的host

proxy_set_header Host $host;

保留代理之前的真实客户端IP

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

在多级代理的情况下,记录每次代理之前的客户端真实IP

proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;

指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值:

proxy_redirect      default;

参考配置

# upstream 这个模块提供一个简单方法来实现在轮询和客户端 IP 之间的后端服务器负荷平衡。
upstream abc.com {
        server 127.0.0.1:8080;
        server 127.0.0.1:80;
        server 127.0.0.1:8000;
}

server {
    listen 80;
    server_name www.test.com;
    location / {
    proxy_connect_timeout 2s; # 反向代理都建议设置超时时间,这里设置为 2 秒
        proxy_pass http://abc.com;
        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;
        proxy_set_header    HTTP_X_FORWARDED_FOR $remote_addr; # 在多级代理的情况下,记录每次代理之前的客户端真实 IP
        proxy_redirect      default; # 指定修改被代理服务器返回的响应头中的 location 头域跟 refresh 头域数值
    }
}
阅读 1910 · 发布于 2019-03-20

————        END        ————

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批