zoukankan      html  css  js  c++  java
  • NGINX转发代理情况下,获取客户单真实IP

    编译时加上http_realip_module 模块

    realip模块生效的前提是:直接连接nginx的ip是在set_real_ip_from中指定的。

    原机配置:

    set_real_ip_from  30.0.0.226;     #代理服务器的IP地址
    real_ip_header    X-Forwarded-For;
    real_ip_recursive on;
    

    set_real_ip_from:指定30.0.0.226是反代服务器(信任服务器),不是真实的用户IP

    real_ip_header:指定真正的用户IP是存在X-Forwarded-For请求头中

    当real_ip_recursive为off时,nginx会把real_ip_header指定的HTTP头中的最后一个IP当成真实IP

    当real_ip_recursive为on时,nginx会把real_ip_header指定的HTTP头中的最后一个不是信任服务器的IP当成真实IP

    在多级代理的情况下,real_ip_header指定的HTTP头中包含了多个IP,包括该NGINX前面的信任服务器

    代理服务器配置:

    location ~ / {
        index index.php index.html index.htm;
        proxy_pass  http://30.0.0.227:80;   #后端服务器IP
        proxy_redirect     off;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
    
  • 相关阅读:
    log4j的使用
    关于spring读取配置文件的两种方式
    BeanUtils组件的使用
    javaee 自定义标签实战
    javaweb中的标签的核心标签库的常用标签
    对接口的思考
    二分查找
    java抽象类
    多例集合
    js中for循环的研究
  • 原文地址:https://www.cnblogs.com/wshenjin/p/9135160.html
Copyright © 2011-2022 走看看