Haproxy
不允許訪問 haproxy IP 地址
我有一個在 ip 1.2.3.4 上執行的 haproxy。它託管大約 10 個網站域。如果我訪問http://1.2.3.4,它顯然會訪問這 10 個域之一,但我不希望它這樣做。我希望它給出錯誤或其他東西。我怎樣才能做到這一點?
我假設您為每個域配置了一個後端。您基本上只需要通過主機標頭配置匹配(您可能已經這樣做了),然後配置為所有其他流量提供服務的預設後端。
frontend http-in bind *:80 mode http # match host headers acl host_one hdr(host) -i one.example.com acl host_two hdr(host) -i two.example.com # .. acl host_ten hdr(host) -i ten.example.com # map to backends use_backend backend_one if host_one use_backend backend_two if host_two # .. use_backend backend_ten if host_ten # all unmatched hosts fallback to default default_backend backend_default
如果您希望此後端處理錯誤,可以使用http-request 拒絕指令來實現:
backend backend_default errorfile 403 /var/www/403.http http-request deny deny_status 403
請注意,您僅限於errorfile支持的錯誤程式碼,即 200、400、403、405、408、429、500、502、503 和 504。