nginx 上游中 fail_timeout 和 max_fails 的影响

nginx 上游中 fail_timeout 和 max_fails 的影响

我有一台面向公众的 nginx 服务器,充当本地上游服务器的反向代理。我有两个 ISP 提供商,因此我希望 nginx 在主 ISP 发生故障时将故障转移到备用 ISP。

标准:

  • 我希望在第一次出现连接问题时就故障转移到备份线路。
  • 每当发生故障转移时,我都希望在重新连接主线路之前,坚持使用备用线路(如果备用线路可以正常工作)30 秒。

以下是我参考网上的各种代码片段制作的上游配置:

upstream remote_server {
    server 1.2.3.4:443 fail_timeout=10 max_fails=1; # primary_line_ip
    server 5.6.7.8:443 fail_timeout=30 backup; # backup_line_ip
}

但是,我需要帮助解决以下问题:

  1. 这表示什么fail_timeout=10? - 这是否意味着 nginx 在故障转移之前将等待 10 秒以达到连接超时?
  2. 设置的含义是什么fail_timeout=0? - 这是否意味着 nginx 将始终在主线路上尝试所有请求,并且仅在主线路出现故障时才使用备份?

相关内容