Haproxy
HAProxy 不會自動重新載入 DNS
我在 Debian Stretch (9) 上安裝了 HAProxy 1.7.5-2,用於藍/綠部署基礎架構。
HAProxy 設置為 TCP 模式,每 5 秒重新載入一次 DNS,但事實並非如此。
global log 127.0.0.1 local0 warning stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 10m user haproxy group haproxy daemon # Default SSL material locations ca-base /etc/ssl/certs crt-base /etc/ssl/private # Default ciphers to use on SSL-enabled listening sockets. # For more information, see ciphers(1SSL). This list is from: # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ # An alternative list with additional directives can be obtained from # https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS ssl-default-bind-options no-sslv3 defaults log global mode tcp option dontlognull timeout connect 360s timeout client 300s timeout server 300s retries 99999 resolvers aws-vpc-dns nameserver vpc {DNSIP}:53 resolve_retries 30 timeout retry 1s hold valid 5s frontend site-frontend bind *:80 use_backend site-backend backend site-backend balance roundrobin server company-www target.services.company.com resolvers aws-vpc-dns listen blue-webapp-http bind :9000 balance roundrobin server company-blue blue.services.company.com resolvers aws-vpc-dns
當我將 DNS 記錄更改為其他內容時,
host
HAProxy 伺服器上的命令會正確返回新地址。重新載入/重新啟動 HAProxy 服務是我目前找到的唯一方法。
關於可能是什麼問題的任何線索?
用於
server
在haproxy
啟動期間解析配置文件或在健康檢查期間解析的主機名。您沒有為您定義任何檢查,server
因此您只能在重新啟動/重新載入期間獲取更新的主機名。如果您希望server
在執行時更新主機名,您需要定義健康檢查。有關詳細資訊,請參閱使用 DNS 的 HAProxy 文件伺服器 IP 地址解析。