Nginx+SpringMvc中重定向内网ip地址问题

        最近,想给自己服务器换一套博客模板,在开源社区一番搜索,选择了Mblog。Mblog的技术栈我比较熟悉,但是在最后服务器搭建的时候,遇到一些重定向问题。我的博客网络拓扑如下:

Nginx+SpringMvc中重定向内网ip地址问题_第1张图片

        这里Nginx起到反向代理的作用,我在SpringMVC中使用重定向的操作,例如,在数据保存后重定向的列表页,这里就会遇到重定向内网ip地址问题,如下代码:

Nginx+SpringMvc中重定向内网ip地址问题_第2张图片

         我的预期是重定向到Nginx中反向代理的域名上,而不是内网ip。经过一番研究,发现问题出现在Nginx配置上,少加了一个代理头设置。我原来的配置如下:

        #配置根目录转发到相应端口,使用单机服务
        location / {
            proxy_pass http://xxxxx:82; #nginx and tomcat 在同一台机器,使用http链接
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
        }

        修改后的配置如下,添加了proxy_set_header Host $host 就可以重定向到域名上:

        #配置根目录转发到相应端口,使用单机服务
        location / {
            proxy_pass http://xxxxx:82; #nginx and tomcat 在同一台机器,使用http链接
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
        }

你可能感兴趣的:(Nginx,nginx)