jsjcjsjc
V2EX  ›  问与答

nginx 反向代理的多路备份?

  •  
  •   jsjcjsjc · Oct 25, 2018 · 2111 views
    This topic created in 2842 days ago, the information mentioned may be changed or developed.

    有一个主域名 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 replies    2018-10-29 20:38:15 +08:00
    kslr
        1
    kslr  
       Oct 25, 2018
    upstream
    0xABCD
        2
    0xABCD  
       Oct 25, 2018 via Android
    跟配置负载均衡一样啊,多机器
    jsjcjsjc
        3
    jsjcjsjc  
    OP
       Oct 26, 2018
    @kslr 感谢,我以为 upstream 只能加 ip
    greenskinmonster
        4
    greenskinmonster  
       Oct 26, 2018 via Android
    用域名的话,只是 Nginx 启动时解析一下,后面域名 IP 变了,你要自己去 reload Nginx 才行
    xivisi
        5
    xivisi  
       Oct 26, 2018
    有同样需求
    jsjcjsjc
        6
    jsjcjsjc  
    OP
       Oct 26, 2018
    @greenskinmonster 可惜 nginx 不能经常 reload。。感概
    greenskinmonster
        7
    greenskinmonster  
       Oct 26, 2018
    @jsjcjsjc 定时检查到 ddns ip 变化以后,reload nginx 即可。
    reload 还是 restart 可能要测试下,我一个服务网也是类似情况,不是关键业务,所以是 restart nginx。
    jsjcjsjc
        8
    jsjcjsjc  
    OP
       Oct 26, 2018
    @greenskinmonster 感谢,我试一下
    jsjcjsjc
        9
    jsjcjsjc  
    OP
       Oct 27, 2018
    自己顶一下,还是不是特别满意~~
    jsjcjsjc
        10
    jsjcjsjc  
    OP
       Oct 29, 2018
    @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 "";
    }
    }
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5543 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 01:35 · PVG 09:35 · LAX 18:35 · JFK 21:35
    ♥ Do have faith in what you're doing.