V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jsjcjsjc
V2EX  ›  问与答

nginx 反向代理的多路备份?

  •  
  •   jsjcjsjc · 2018-10-25 23:19:18 +08:00 · 1507 次点击
    这是一个创建于 2216 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一个主域名 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 域名

    感谢

    感谢

    10 条回复    2018-10-29 20:38:15 +08:00
    kslr
        1
    kslr  
       2018-10-25 23:24:30 +08:00
    upstream
    0xABCD
        2
    0xABCD  
       2018-10-25 23:50:59 +08:00 via Android
    跟配置负载均衡一样啊,多机器
    jsjcjsjc
        3
    jsjcjsjc  
    OP
       2018-10-26 08:43:57 +08:00
    @kslr 感谢,我以为 upstream 只能加 ip
    greenskinmonster
        4
    greenskinmonster  
       2018-10-26 09:44:01 +08:00 via Android
    用域名的话,只是 Nginx 启动时解析一下,后面域名 IP 变了,你要自己去 reload Nginx 才行
    xivisi
        5
    xivisi  
       2018-10-26 10:10:36 +08:00
    有同样需求
    jsjcjsjc
        6
    jsjcjsjc  
    OP
       2018-10-26 10:49:14 +08:00
    @greenskinmonster 可惜 nginx 不能经常 reload。。感概
    greenskinmonster
        7
    greenskinmonster  
       2018-10-26 11:01:06 +08:00
    @jsjcjsjc 定时检查到 ddns ip 变化以后,reload nginx 即可。
    reload 还是 restart 可能要测试下,我一个服务网也是类似情况,不是关键业务,所以是 restart nginx。
    jsjcjsjc
        8
    jsjcjsjc  
    OP
       2018-10-26 11:24:14 +08:00
    @greenskinmonster 感谢,我试一下
    jsjcjsjc
        9
    jsjcjsjc  
    OP
       2018-10-27 21:36:01 +08:00
    自己顶一下,还是不是特别满意~~
    jsjcjsjc
        10
    jsjcjsjc  
    OP
       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 "";
    }
    }
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3146 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 13:38 · PVG 21:38 · LAX 05:38 · JFK 08:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.