Loading

Nginx+Tomcat无法正确获取的域名和ip地址

在利用Nginx作为反向代理服务器的时候,出现一个问题,就是在Tomcat中的web项目获取当前访问域名地址的时候,无法获取到真实的域名或IP地址,进过一系列摸索,最终找到解决办法。

之前的Nginx配置:


server {
        listen       80;
        server_name  二级域名;
        autoindex off;
        location / {
            root   /da/www/webapps;
            index  index.html index.jsp;
            proxy_pass       http://127.0.0.1:8080;
       
        }
}

之后的Nginx配置:

server {
        listen       80;
        server_name  二级域名;
        autoindex off;
        location / {
            root   /da/www/webapps;
            index  index.html index.jsp;
            proxy_pass       http://localhost:8080;
 
            proxy_redirect off;
            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  Host                    $http_host;            # 将当前Host头域值填充成客户端地址
proxy_set_header  X-Forwarded-Server      $host;  
proxy_set_header  X-Forwarded-For         $proxy_add_x_forwarded_for;    # 代理路由信息,此处取ip有安全隐患
proxy_set_header  X-Forwarded-Proto       $scheme;                      # 真实用户访问协议
proxy_set_header  X-Real-IP               $remote_addr;                # 真实用户IP

posted @ 2019-09-18 15:25  Roc-xb  阅读(34)  评论(0编辑  收藏  举报

易微帮源码


易微帮官网