Haproxy

基於主機的haproxy動態後端

  • May 13, 2021

我有以下配置:

frontend example.com-https
   bind            1.1.1.1:443 ssl no-sslv3 alpn h2,http/1.1 crt /example.com.pem
   capture         request header Host len 40
   acl own_backend hdr(host) -i sub1.example.com

   ...

   acl own_backend hdr(host) -i subX.example.com

   use_backend %[req.hdr(Host),lower] if own_backend
   default_backend example.com

backend example.com
   server          worker1 2.2.2.2:80

backend sub1.example.com
   server          worker1 3.3.3.3:80

...

backend subX.example.com
   server          worker1 x.x.x.x:80

是否可以在這部分以某種方式從 HOST 標頭中 刪除wwwuse_backend %[req.hdr(Host),lower] if own_backend : 以減少後端的數量?因為我不僅要寫:“backend sub1.example.com”,還要寫這個“backend www.sub1.example.com”。

您可能想查看regsub

   use_backend %[req.hdr(Host),lower,regsub(^www\.,)] if own_backend

用 2.3.10 測試。

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