degrade

'degrade' 指令用于在主服务器不可用时控制回退机制。 — NGINX HTTP Core

degrade
httpserverlocation
语法degrade;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

'degrade' 指令在 NGINX 中允许管理员指定当主后端服务器不可用时服务器应如何表现。该指令在可能有多个 upstream 服务器或服务的负载均衡设置中特别有用。启用 'degrade' 指令后,NGINX 会允许将服务器请求路由到指定的二级服务器或预定义的服务器集合,即使一个或多个 upstream 服务器宕机。这有助于保持服务可用性,并确保在故障情况下用户仍能收到响应。 启用该指令后,它会通过允许从二级资源提供请求而不是直接拒绝请求来实际改变失败时的行为。这在需要保持高可用性的环境中尤其有用。管理员必须确保已配置适当的回退设置,例如在 upstream 上下文中定义备用服务器,以有效利用该指令。此外,成功使用该指令还依赖于整体的健康检查和对 upstream 服务器的正确配置。

配置示例

http {
    upstream backend {
        server primary_server;
        server backup_server backup;
    }
    server {
        location / {
            proxy_pass http://backend;
            degrade;
        }
    }
}

请确保 upstream 服务器已正确定义;配置缺失可能导致意外行为。

degrade 指令仅在使用 upstreams 时适用;在简单的 server 上下文中可能不会生效。