Haproxy
HAProxy 反向代理配置
我想將一些網站遷移到新伺服器。完成所有 DNS 更改需要幾天時間,所以我想設置一個 HAProxy 反向代理,將所有流量從舊位置重定向到新位置。我對這樣的配置不是很有經驗。訪問域時,我收到一條錯誤消息:
503 Service Unavailable No server is available to handle this request.
這是我使用的配置(隱藏 IP 地址):
global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon # turn on stats unix socket stats socket /var/lib/haproxy/stats defaults mode http log global option httplog option dontlognull option http-server-close option forwardfor except 127.0.0.0/8 option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 3000 frontend localhost bind *:80 bind *:443 ssl crt /etc/pki/tls/certs/haproxy.pem redirect scheme https if !{ ssl_fc } mode http default_backend node backend node mode http option forwardfor option httpchk HEAD / HTTP/1.1\r\nHost:localhost server dcnode1 x.x.x.x:80 check http-request set-header X-Forwarded-Port %[dst_port] http-request add-header X-Forwarded-Proto https if { ssl_fc }
此錯誤意味著後端未被視為“啟動”。
首先確保後端伺服器正在執行並且可以從 HAProxy 機器訪問,例如
telnet x.x.x.x 80
並確保它連接。如果您可以成功建立連接,那麼要檢查的第二件事是後端是否未通過檢查。嘗試刪除
option httpchk
,然後check
從server
行中刪除。(當您只有一個後端伺服器時,支票價值不大,但您可以稍後再添加)可能是您
Host: localhost
在支票中退回了一些不尋常的東西。