Haproxy
HAProxy 使用文件中的主機設置 acl
我想將大約 100 多個站點從一台伺服器遷移到另一台伺服器。目前的計劃是逐漸為每個添加一個 acl,因為它們被移動以將流量引導到新伺服器。
這是一個簡化的例子
front http_frontend bind *:80 acl is_new hdr_end(host) -i sub1.domain.com acl is_new hdr_end(host) -i sub2.domain.com acl is_new hdr_end(host) -i www.domain2.com mode http # etc use_backend web1 if is_new default_backend legacy1
一旦他們都被移動了,我們就會改變
default_backend
有沒有辦法從另一個文件中讀取這些 acl?或者從文件中讀取域 - 也許是這樣的?
acl is_new hdr_end(host) -i /path/to/file
例如,我將所有安全證書都包括在下面,這樣就太好了!
bind *:443 ssl crt /etc/haproxy/certs.d
如果不是,這不是世界末日,它會很漂亮和整潔:)。
haproxy 中的 ACL 可以使用
-f
參數從文件中載入值。您可以在此處閱讀文件。例如:
acl valid-ua hdr(user-agent) -f exact-ua.lst -i -f generic-ua.lst test
“-f”標誌後跟一個文件的名稱,從該文件中的所有行都將作為單獨的值讀取。如果要從多個文件載入模式,甚至可以傳遞多個“-f”參數。空行以及以尖號 (’#’) 開頭的行將被忽略。