我透過 HAProxy 設定了一堆監聽各種其他連接埠的應用程式伺服器,並取得了一些初步的成功。
我現在有另一個網頁伺服器在一個連接埠上偵聽,我想對我的配置進行哪些更改以按主機名稱傳輸流量。
以下是當前設置,假設:
- 我的 apache 網路伺服器運行在 examplecom:8001
- 我的一堆應用程式伺服器 0.0.0.0:8081、0.0.0.0:8082、0.0.0.0:8083
global log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 4096 debug #quiet #user haproxy #group haproxy defaults log global mode http option httplog option dontlognull retries 3 redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen appservers 0.0.0.0:80 mode http balance roundrobin option httpclose option forwardfor #option httpchk HEAD /check.txt HTTP/1.0 server inst1 0.0.0.0:8081 cookie server01 check inter 2000 fall 3 server inst2 0.0.0.0:8082 cookie server02 check inter 2000 fall 3 server inst3 0.0.0.0:8083 cookie server01 check inter 2000 fall 3 server inst4 0.0.0.0:8084 cookie server02 check inter 2000 fall 3 capture cookie vgnvisitor= len 32
(歡迎對 ^ 設定有任何其他評論。)
現在我想繼續上面的操作,但另外以防萬一 - 如果主機名稱是 myspecialtopleveldomain<dot>com,那麼希望將流量流向 example<dot>com:8001
〜B
答案1
這是一個例子:
frontend http
bind 0.0.0.0:80
default_backend www
# NAT static host names and static paths in other hostnames to a different backend
acl host_static hdr_beg(host) -i static.
acl url_static path_beg /static
use_backend static if host_static or url_static
backend www
balance roundrobin
server qa1 10.177.1.81:80
server qa2 10.177.1.45:80
backend static
balance roundrobin
server media1 10.177.0.86:80