有两个服务器,各自跑一个 nginx,第一个 nginx 是正向代理,第二个 nginx 是反向代理后端服务,一级域名在第一台服务器上,二级域名在第二台 nginx 上,现在问题是客户端访问一级域名要跳转到二级域名上,但是地址栏必须显示一级域名,因为是保护二级域名和服务器,目前是跳转过去,但是地址栏的域名是二级域名,请问下这种情况,nginx 该如何配置?
1
l4ever 2019-11-28 13:02:34 +08:00
|
2
aaa5838769 OP @l4ever 我第一个 nginx 就是写的 proxy_pass http://bbb.aaa.com 第二个 nginx 是 proxy_pass 127.0.0.1:9999 但是现在问题是地址栏域名还是会显示二级域名。
|
3
kof21411 2019-11-28 13:19:15 +08:00 via iPhone
浏览器清一下缓存
|
4
aaa5838769 OP @kof21411 不是缓存问题,两台电脑都这样
|
5
onionlc 2019-11-28 14:20:51 +08:00
看下 proxy_set_header 参数吧,我就是这样解决的
|
6
onionlc 2019-11-28 14:24:17 +08:00
配置 proxy_set_header Host B 域名;
我刚翻了下配置是这样的,这样客户端浏览器还是显示 A 域名;还能解决多级域名用二级通配符 SSL 证书问题 |
7
Tink 2019-11-28 16:08:57 +08:00 via iPhone
没看懂
|
8
SaberJack 2019-11-28 17:20:36 +08:00
不贴配置都是耍流氓,但是一楼老哥和五楼老哥说的很清楚了
|
9
aaa5838769 OP 第一台 nginx 配置
server { listen 80; server_name aaa.bbb.com; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location /aaa{ proxy_pass http://ccc.bbb.com.cn:8080/; proxy_redirect off; proxy_set_header aaa.bbb.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 第二台 nginx 配置文件 upstream ddd.bbb.com.cn{ server 192.168.0.2:9090; } server { keepalive_requests 120; listen 8080; server_name ccc.bbb.com.cn; location ~*^.+$ { proxy_pass http://ddd.bbb.com.cn; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } |
10
aaa5838769 OP |