http {
upstream ups {
server 192.168.1.1 max_fails=1 fail_timeout=10s;
server 192.168.1.2 max_fails=1 fail_timeout=10s;
server 192.168.1.3 max_fails=1 fail_timeout=10s;
keepalive 1000;
}
server {
listen 80;
server_name _;
location / {
proxy_next_upstream error timeout;
proxy_next_upstream_tries 0;
proxy_pass http://ups;
}
}
}
配置說明
max_fails=1 fail_timeout=10s
每 10 秒計數到一次失敗,節點判定為壞點 10秒鐘
以此類推
當 max_fails=0 時,停用失敗計數器,即永遠不會判定壞點
proxy_next_upstream error timeout
那些請求狀態會被判定失敗,計算到 max_fails 的計數器
可選的項目有:
- error
- timeout
- invalid_header
- http_500
- http_502
- http_503
- http_504
- http_403
- http_404
- http_429
- non_idempotent
- off
proxy_next_upstream_tries 0
upstream servers 嘗試請求的次數
- 0: 不限次數嘗試可用節點
- 1: 僅嘗試一次,即不會有重試的狀況,成功即成功、失敗即失敗
- 2: 第一次節點失敗後,嘗試下一個節點
- 3: 以此類推 …