1
salmon5 2017-12-28 10:58:10 +08:00
一台
以想 另一台 给一台 原服务器 <base> 这表达能力真的蛋疼 |
2
salmon5 2017-12-28 10:59:44 +08:00
另一台服务器 proxy_set_header X-Forwarded-Port $server_port; #这个最终反代到 tomcat 上。
|
3
salmon5 2017-12-28 11:01:10 +08:00 1
proxy_set_header Host xxx; #这个改成 proxy_set_header Host $http_host; 告诉 tomcat 返回最终的请求端。
|
4
mashirochannel OP 我是做了两次代理 第一次
服务器 A nginx 到 tomcat docker (因为 A 上有多个 tomcat 实例,所以要反代) server { listen 9090; server_name xxx.xxx.com; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_pass http://xxx:8080; } } 服务器 B 第二次 listen 80 ; server_name xxx2.xxx.com; location / { proxy_redirect off; proxy_set_header Host xxx.xxx.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://xxx.xxx.com:9090; } 如果直接从 B 带到 A 的 tomcat 是可以的,但是代了两次就不行了 |
5
mashirochannel OP @salmon5 表达能力确实很差。。
|
6
salmon5 2017-12-28 14:53:13 +08:00 1
修改如下试试:
服务器 A server { listen 9090; server_name xxx.xxx.com; location / { proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://xxx:8080; } } 服务器 B listen 80 ; server_name xxx.xxx.com; location / { proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_pass http://xxx.xxx.com:9090; } 本机绑定 host 到服务器 B,访问 xxx.xxx.com ,可以的话,改 DNS。 |
7
mashirochannel OP @salmon5 还是不行呢
|