nginx 跳转问题

2019-11-28 12:57:05 +08:00
 aaa5838769

有两个服务器,各自跑一个 nginx,第一个 nginx 是正向代理,第二个 nginx 是反向代理后端服务,一级域名在第一台服务器上,二级域名在第二台 nginx 上,现在问题是客户端访问一级域名要跳转到二级域名上,但是地址栏必须显示一级域名,因为是保护二级域名和服务器,目前是跳转过去,但是地址栏的域名是二级域名,请问下这种情况,nginx 该如何配置?

2343 次点击
所在节点    程序员
10 条回复
l4ever
2019-11-28 13:02:34 +08:00
你都会反向代理后端了, 应该会配置 proxy_pass 吧?
proxy_pass http://subdomain.xxx.com/;

还是你以为 proxy_pass 只能 127.0.0.1?
aaa5838769
2019-11-28 13:09:04 +08:00
@l4ever 我第一个 nginx 就是写的 proxy_pass http://bbb.aaa.com 第二个 nginx 是 proxy_pass 127.0.0.1:9999 但是现在问题是地址栏域名还是会显示二级域名。
kof21411
2019-11-28 13:19:15 +08:00
浏览器清一下缓存
aaa5838769
2019-11-28 14:05:02 +08:00
@kof21411 不是缓存问题,两台电脑都这样
onionlc
2019-11-28 14:20:51 +08:00
看下 proxy_set_header 参数吧,我就是这样解决的
onionlc
2019-11-28 14:24:17 +08:00
配置 proxy_set_header Host B 域名;
我刚翻了下配置是这样的,这样客户端浏览器还是显示 A 域名;还能解决多级域名用二级通配符 SSL 证书问题
Tink
2019-11-28 16:08:57 +08:00
没看懂
SaberJack
2019-11-28 17:20:36 +08:00
不贴配置都是耍流氓,但是一楼老哥和五楼老哥说的很清楚了
aaa5838769
2019-11-29 11:07:45 +08:00
第一台 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;
}
aaa5838769
2019-11-29 11:08:37 +08:00
@SaberJack
@l4ever
@onionlc 昨天比较忙,我已经把配置文件粘贴出来了,麻烦帮忙看下如何修改。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/623922

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX