目 录CONTENT

文章目录

Nginx从CDN下获取用户地址

简中仙
2022-09-07 / 0 评论 / 0 点赞 / 15 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2023-10-07,若内容或图片失效,请留言反馈。 本文如有错误或者侵权的地方,欢迎您批评指正!

客户端在访问互联网应用服务器时,与真实的应用服务器之间会因为有多层反向代理,而导致真实应用服务器获取的仅是最近一层的反向代理服务器IP。为使Nginx后端的上游服务器可以获得真实客户端IP,Nginx提供了ngx_http_realip_module模块用以实现真实客户端IP的获取及传递的功能。通过该模块提供的配置指令,用户可以手动设置上层反向代理服务器的IP作为授信IP,Nginx服务器根据配置指令的配置排除授信IP,而甄别出真实的客户端IP进行日志记录,并传递给上游服务器。

nginx配置

server { 
    listen       8088; 
    access_log  logs/proxy.access.log  main; 
     
    set_real_ip_from 192.168.2.159;   # 设置192.168.2.159为授信IP 
    real_ip_header X-Forwarded-For;   # 通过HTTP头字段X-Forwarded-For获取真实客户端IP 
    real_ip_recursive on;             # 以最后一个非授信IP为真实客户端IP 
     
    tcp_nodelay off;                  # 因启用缓冲区功能,所以关闭立刻发送功能 
 
    location ~ ^/ { 
        proxy_force_ranges on;        # 强制启用字节范围请求支持 
        proxy_pass   http://192.168.2.145:8082; 
        break; 
    } 
}
0

评论区