开发者社区> 问答> 正文

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;
    }
}</code></pre> 

   

展开
收起
kun坤 2020-05-31 21:44:29 463 0
1 条回答
写回答
取消 提交回答
  • 是不是因为upstream是8081######应该是重定向的时候Location里指定了端口。######回复 @张奇文 : 这个不太懂,不会java....######我的项目用的spring mvc 重定向使用的是类似这样的写法 return "redirect:/";return "redirect:/login"; 这个有问题吗######谢谢 好像明白了 我试试######回复 @张奇文 : 这里的重定向很明显不是Nginx这边做的,是你的源上进行的,重定向的目标是通过响应头部的Location字段控制的。应该是源上重定向时location指定了绝对url路径,如"location:http://域名:8081/"导致的。最好让源上重定向时使用相对路径如"location:/login.php"这样。######这里的配置在哪里改呢 谢谢

    2020-05-31 21:44:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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