Haproxy

前端和後端具有多個埠的 Haproxy

  • January 18, 2019

我的任務是配置代理多個埠上的入站流量的 haproxy。這就是我在Google上搜尋後所做的:我很容易弄清楚如何在前端綁定埠,因為網際網路上有很多例子。但幾乎​​沒有關於如何為此配置後端的資訊。

當它在伺服器線上只有一個埠時,我使用“:”和埠號。如:443 或:80。但是在這裡我假設我應該取出埠並僅發送到伺服器。不知道對不對???還要檢查參數 - 我無法檢查兩個埠的可用性,所以選擇了一個。但我確信必須有更好的方法來做到這一點。

任何人都可以幫忙嗎?

frontend FE-VPN
   bind 10.10.90.10:500
   bind 10.10.90.10:4500
   mode tcp
   log global
   option tcplog
   option dontlognull
   option contstats
   timeout client 300s
   maxconn 10000
   default_backend BK-VPN

backend BK-VPN
   mode tcp
   log global
   option tcplog
   option tcp-check
   timeout server 300s
   timeout connect 5s
   balance leastconn
   retries 3
   server DA-VPN-01 10.10.90.21 weight 1 check port 500 source 10.10.90.10
   server DA-VPN-02 10.10.90.22 weight 1 check port 500 source 10.10.90.10

UPD 這是迄今為止我想出的最好的東西。請告訴我您是否認為這是正確的

   backend BK-VPN
   mode tcp
   log global
   option tcplog

   option tcp-check

   tcp-check connect port 500
   tcp-check expect string +OK

   tcp-check connect port 4500
   tcp-check expect string +OK

   timeout server 300s
   timeout connect 5s
   balance leastconn
   retries 3
   server DA-VPN-01 10.10.90.21 weight 1 check source 10.10.90.10
   server DA-VPN-02 10.10.90.22 weight 1 check source 10.10.90.10

看起來不錯。如果您不指定埠,那麼它將使用它在前端命中的相同埠。因此,如果它在前端達到 10.10.90.10:500,它將轉到 10.10.90.21:500 等。至於健康檢查,要麼檢查單個埠,要麼如果您需要更複雜的東西,可以使用外部健康檢查腳本,即多埠檢查。

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