Haproxy

HAProxy:將前端請求轉發到外部後端伺服器

  • June 12, 2018

當有人請求我域中的子目錄時,我想將請求轉發到外部伺服器。

我有以下配置,但我仍然得到 503:

resolvers dns
 nameserver google-1 8.8.8.8:53
 nameserver google-2 8.8.4.4:53
 hold valid 1s

frontend http-in
 maxconn 1048576

 bind *:80
 bind *:443 ssl crt /path/to/ssl

 redirect scheme https code 301 if !{ ssl_fc }

 acl is_dashboard_uri path_beg /dashboard
 use_backend surge if is_dashboard_uri

 default_backend servers

backend surge
 option forwardfor
 balance leastconn
 server surge my-path.surge.sh:443 check resolvers dns

我不確定我在這裡做錯了什麼。我可以訪問 DNS 伺服器和後端路徑。

編輯:這是日誌:

Jun 12 21:32:05 ion-matchmaker-load-balancer haproxy[12612]: 73.70.169.76:54627 [12/Jun/2018:21:32:05.127] http-in~ surge/surge 0/59/-1/-1/+79 503 +213 - - sC-- 4/4/0/0/3 0/0 "GET /dashboard HTTP/1.1"

sC--後端無法及時完成請求時,會出現日誌中的錯誤。

與伺服器的連接完成之前的“超時連接”行程。在 HTTP 模式下發生這種情況時,此處的狀態程式碼可能是 503 或 504。

我增加了後端的超時時間,它給了伺服器足夠的時間來處理請求。

backend surge
 timeout connect 5000

引用自:https://serverfault.com/questions/916281