解决:nginx1.17.5+tomcat9 反向代理非80端口导致端口号丢失和403 访问被拒绝问题

今天在测试服务器上部署了 一个tomcat 和nginx ,nginx 用于反向代理的环境。

niginx 和tomcat 都正常安装完毕,将应用发布到Tomcat 站点下,内网也能访问成功。

但是用nginx 反向代理的时候出现了两个问题:

  • 登录页面,登录成功后端口丢失,
  • 将端口补全后,可打开系统首页,但是js 访问的控制器都出现了403

解决过程:

直接访问内网地址,再次排除tomcat 导致403的因素

修改nginx 的配置文件

1 proxy_redirect off;
2 proxy_set_header Host $http_host;
3 proxy_set_header X-Real-IP $remote_addr;
4 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

执行 ./nginx -s reload 命令,重新加载nginx 配置

再次刷新页面,并登陆,问题解决 。