场景 nginx 转发端口 路由器二次转发了,端口不一样 (shiro 或者其他一些权限控制架构会自动跳转,导致的端口不对。)
proxy_set_header Host $host:$proxy_port;
这个$proxy_port 写死
nigix做反向代理
注意 :$proxy_port 与 :$server_port 区别
$server_port :nigix监听的端口
$proxy_port : 服务器真正访问的端口
server {
listen 8888;
server_name 192.168.1.114;
#charset koi8-r;
#access_log logs/host.access.log main;
location /a {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host:$proxy_port;
}
location /b {
proxy_pass http://192.168.1.102:8080/b;
proxy_cookie_path /a /b;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
-----------------------------------------------------------------------------------------------------------------
server {
listen 8888;
server_name 192.168.1.114;
#charset koi8-r;
#access_log logs/host.access.log main;
location /a {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host:$server_port;
}
location /b {
proxy_pass http://192.168.1.102:8080/b;
proxy_cookie_path /a /b;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}