用pound做反向代理用了很多年了,最近pound大幅改版原本就不多的功能又更精簡了,導致無法勝任原本的需求,所以換成了比較通用的haproxy。
相較於pound haproxy的功能多了許多,設定也複雜很多,我的需求是一臺反向代理對應多個(數十個)網站,haproxy要分別設定前端、後端對應,整個設定會非常繁雜。
幸好haproxy可以在設定檔中使用變量,所以就在前端設定
frontend https
use_backend %[req.hdr(host),lower,word(1,.)]
這個變量會掫取使用者瀏覽網站的主機名稱並轉為小寫,對應到相應的後端區段。
backend XXXhostname1
server s1 192.168.x.x1:80
backend XXXhostname2
server s1 192.168.x.x2:80
前端使用變量以後,就不需要再對前端設定,數十個網站只要分別設定後端對應即可。
沒有留言:
張貼留言