zoukankan      html  css  js  c++  java
  • nginx获取客户端请求的真实IP

    客户端通过nginx代理访问后端jetty服务器时,后端服务器收到的请求信息中只有nginx代理的IP信息,无法看到client的真实IP,

    所以nginx需要获取客户端请求头的真实IP地址进行传递,网上查资料一般配置如下:

    server {
        listen 8080 default_server;
        server_name test80;
        location / {
            proxy_pass https://192.168.10.3:443/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }                

    但是如上配置涉及jetty/tomcat/apache服务之后,客户端访问代理无法正常访问到服务,页面异常,去除proxy_set_header等配置则访问正常。
    于是修改配置如下,代理服务访问正常,且nginx能获取客户端请求的真实IP地址:

    location / {
        proxy_pass https://192.168.10.3:443/;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    

     参考:https://blog.csdn.net/xiao__gui/article/details/73733797 

  • 相关阅读:
    分享微云普通用户不限速下载方法
    PS基础之移动工具和分布对齐
    操作系统的概念、功能和目标
    又拍云+PicGo搭建图床教程
    05 数组
    04 循环结构
    02 数据类型_变量_运算符_表达式
    03 流程控制
    05 方法_递归
    win7下使用telnet的方法
  • 原文地址:https://www.cnblogs.com/xiatian09/p/11245893.html
Copyright © 2011-2022 走看看