Reverse proxy

Nginx 反向代理配置:

upstream dynamic {
    zone upstream_dynamic 64k;
  
    least_conn; ##适用于long connect,即请求处理时间长
  #ip_hash; ##适用于session stricky
  ##默认调度算法为round-robin 
 

    server backend1.example.com      weight=5;
    server backend2.example.com:8080 fail_timeout=5s  ## 5秒后认为此server 已正常工作
    server 192.0.2.1                 max_fails=3; ##retry 3次连接失败后此server不可用
    server backend3.example.com      resolve;
    server backend4.example.com      service=http resolve;

    server backup1.example.com:8080  backup;
    server backup2.example.com:8080  backup;
}

server {
    location / {
        proxy_pass http://dynamic;
        health_check;
    }
}

  




Nginx 不会定时检查backend server的健康状态,只有request 分发到此server时才会检查。 所以为了能重新pick up 已恢复的server 需要指定fail_timeout, 此值指定了当server 故障后多久可以重新分发request到此server.  

  

原文地址:https://www.cnblogs.com/divl/p/10518882.html