不允许访问 haproxy IP 地址

不允许访问 haproxy IP 地址

我有一个在 IP 1.2.3.4 上运行的 haproxy。它托管了大约 10 个网站域名。如果我访问http://1.2.3.4它显然会转到这 10 个域中的一个,但我不希望它这样做。我希望它给出错误或类似的东西。我该怎么做?

答案1

我假设您为每个域配置了一个后端。基本上,您只需通过主机标头配置匹配(您可能已经这样做了),然后配置一个为所有其他流量提供服务的默认后端。

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 请求被拒绝指示:

backend backend_default
    errorfile 403 /var/www/403.http
    http-request deny deny_status 403

请注意,您只能使用错误文件分别是 200、400、403、405、408、429、500、502、503 和 504。

相关内容