nginx代理后端应用服务器指定端口的做法

2023-04-16 405点热度 0人点赞 0条评论

描述

使用nginx代理后,后端应用服务器得到的端口是还是应用本身的端口号(例如8080),而nginx对外的端口号是18080,我们希望应用服务器检测到的端口也是18080

例如如下代码:

request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath();

问题解决

配置如下,主要增加了 proxy_set_header Host $host:18080; 指定端口号,这样程序检测到的端口就是18080了

location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host:18080;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论