开发者社区> 问答> 正文

nginx反向代理丢失端口怎么解决 - nginx报错

具体配置如下,访问的时候是8084端口,只要项目里面有重定向,就会变成8081 端口,请问这个配置哪里出问题了呢

upstream lotus_web_test {
		server 60.205.184.143:8081;
    }

    server {
        listen       8084;
        server_name  localhost;

        location / {
        	proxy_set_header X-Forwarded-Host $host;
        	proxy_set_header X-Forwarded-Server $host;
            proxy_set_header Host $host:8084;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_buffering off;
            proxy_pass http://lotus_web_test;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

 

 

展开
收起
montos 2020-06-02 12:11:38 643 0
1 条回答
写回答
取消 提交回答
  • 是不是因为upstream是8081

    ######

    应该是重定向的时候Location里指定了端口。

    ######回复 @张奇文 : 这个不太懂,不会java....######我的项目用的spring mvc 重定向使用的是类似这样的写法 return "redirect:/";return "redirect:/login"; 这个有问题吗######谢谢 好像明白了 我试试######回复 @张奇文 : 这里的重定向很明显不是Nginx这边做的,是你的源上进行的,重定向的目标是通过响应头部的Location字段控制的。应该是源上重定向时location指定了绝对url路径,如"location:http://域名:8081/"导致的。最好让源上重定向时使用相对路径如"location:/login.php"这样。######这里的配置在哪里改呢 谢谢
    2020-06-02 12:11:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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