开发者社区> 问答> 正文

nginx获取客户真实ip

如何配置,nginx获取客户真实ip和防火墙ip

展开
收起
1446012110796701 2018-03-19 17:32:47 4554 0
2 条回答
写回答
取消 提交回答
  • 1.当业务服务器直接暴露在公网上,并且未使用CDN和反向代理服务器时:
    可以直接使用remote_addr。如直接使用$_SERVER['REMOTE_ADDR']
    2.在代理服务器或CDN之后的业务服务器

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;

    3.配合nginx realip模块获取用户真实IP

    set_real_ip_from   10.100.21.0/24;
    set_real_ip_from   10.100.22.0/24;
    real_ip_header     X-Forwarded-For;
    real_ip_recursive on;
    2019-07-17 22:02:18
    赞同 展开评论 打赏
  • nginx反向代理配置时,添加下面的配置:

      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header REMOTE-HOST $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    

    location / {

       proxy_pass http://127.0.0.1:10678;

       proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;
    
        proxy_set_header REMOTE-HOST $remote_addr;
    
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    2019-07-17 22:02:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载