nginx 反向代理的多路备份?

2018-10-25 23:19:18 +08:00
 jsjcjsjc

有一个主域名 yes.com 想反向代理到另外三个域名 yes-a.com yes-b.com yes-c.com

因为这三个域名都是 ddns 服务,不是特别稳定,有时候会挂。。。 如何配置 nginx,发现 yes-a.com 挂了以后自动 跳转到(反向代理到) yes-b.com/yes-c.com

背景:自己的 nas 上有多个服务,被运营商屏蔽了 80,443,想做一个反向代理这样就不用加端口号了,但是实测下来 ddns 都不是特别稳定,所以配置了三个 ddns 服务,有三个 ddns 域名

感谢

感谢

1427 次点击
所在节点    问与答
10 条回复
kslr
2018-10-25 23:24:30 +08:00
upstream
0xABCD
2018-10-25 23:50:59 +08:00
跟配置负载均衡一样啊,多机器
jsjcjsjc
2018-10-26 08:43:57 +08:00
@kslr 感谢,我以为 upstream 只能加 ip
greenskinmonster
2018-10-26 09:44:01 +08:00
用域名的话,只是 Nginx 启动时解析一下,后面域名 IP 变了,你要自己去 reload Nginx 才行
xivisi
2018-10-26 10:10:36 +08:00
有同样需求
jsjcjsjc
2018-10-26 10:49:14 +08:00
@greenskinmonster 可惜 nginx 不能经常 reload。。感概
greenskinmonster
2018-10-26 11:01:06 +08:00
@jsjcjsjc 定时检查到 ddns ip 变化以后,reload nginx 即可。
reload 还是 restart 可能要测试下,我一个服务网也是类似情况,不是关键业务,所以是 restart nginx。
jsjcjsjc
2018-10-26 11:24:14 +08:00
@greenskinmonster 感谢,我试一下
jsjcjsjc
2018-10-27 21:36:01 +08:00
自己顶一下,还是不是特别满意~~
jsjcjsjc
2018-10-29 20:38:15 +08:00
@greenskinmonster 貌似不行啊~~
upstream jsjc.domain.io:30000 {
server kakxkakx.domain.io:30000 weight=1;
server jsjc.myqnapcloud.com:30000 weight=1;
server test.henjimo.com:30000 weight=1;
}

server
{
listen 80;
server_name thenas.domain.io;

if ($http_user_agent ~* (baiduspider|360spider|haosouspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
return 403;
}

location / {
sub_filter jsjc.domain.io:30000 thenas.domain.io;
sub_filter_once off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer http://jsjc.domain.io:30000;
proxy_set_header Host jsjc.domain.io:30000;#此处注意
proxy_pass http://jsjc.domain.io:30000;
proxy_set_header Accept-Encoding "";
}
}

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

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

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

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

© 2021 V2EX