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 }

答案1

此錯誤意味著後端不被視為“啟動”。

首先確保後端伺服器正在運行並且可以從 HAProxy 機器訪問,例如telnet x.x.x.x 80並確保它已連接。

如果可以成功建立連接,第二件事是檢查後端是否未通過檢查。嘗試刪除, 並從行中option httpchk刪除。 (當您只有一台後端伺服器時,檢查並沒有多大價值,但您可以隨時將其添加回來)checkserver

Host: localhost您的支票中可能會退回一些不尋常的東西。

相關內容