加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

备份nginx服务器返回504

发布时间:2020-12-13 21:37:37 所属栏目:Nginx 来源:网络整理
导读:我有3个nginx服务器设置.备份Web服务器和Home服务器都具有相同的../sites-enabled和../sites-available目录.第三台服务器充当负载均衡器,使用配置指向备份和主服务器: upstream myapp1 { server 1.1.1.1; #home server server 2.2.2.2 backup; #backup serv

我有3个nginx服务器设置.备份Web服务器和Home服务器都具有相同的../sites-enabled和../sites-available目录.第三台服务器充当负载均衡器,使用配置指向备份和主服务器:

upstream myapp1 {
    server 1.1.1.1; #home server
    server 2.2.2.2 backup; #backup server
}

server {
    listen 80;

    location / {
        proxy_pass http://myapp1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

但是当我测试备份服务器是否正常工作时,我遇到了一个问题(下面将更详细地解释),因为它只在主服务器开启时才起作用!

1. test.foo.com -> Backup Web Server
2. foo.com       -> Load Balancer
3. www.foo.com   -> Home server

– >意味着指向

什么都没有下来:

- 1 returns OK
- 2 returns OK
- 3 returns OK

Home Server关闭时:

- 1 returns 504 **(SHOULD BE OK)**
- 2 returns 504 **(SHOULD BE OK)**
- 3 returns DNS error

Load Balancer关闭时:

- 1 returns OK
- 2 returns DNS error
- 3 returns OK

备份Web服务器关闭时:

- 1 returns DNS error
- 2 returns 200
- 3 returns 200
最佳答案
你似乎对这里的术语感到困惑:

>当负载均衡器关闭时,您将收到connect(2) Connection refusedOperation timed out样式的错误;你不会得到DNS错误
>同样,你从上游家庭服务器获得504,这意味着它没有关闭,因此你的备份服务器永远不会被使用,因为如果主服务器真的不可用,nginx只会使用备份

您可以通过获取支持health_check指令的nginx的付费版本来修复第二个问题.

或者,您可以实现缓存,并使用proxy_cache_use_stale指定应返回缓存版本.另外,请看一下error_page

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读