![如何防止指向我服务器 IP 的外部域名加载我的网站?](https://linux22.com/image/577511/%E5%A6%82%E4%BD%95%E9%98%B2%E6%AD%A2%E6%8C%87%E5%90%91%E6%88%91%E6%9C%8D%E5%8A%A1%E5%99%A8%20IP%20%E7%9A%84%E5%A4%96%E9%83%A8%E5%9F%9F%E5%90%8D%E5%8A%A0%E8%BD%BD%E6%88%91%E7%9A%84%E7%BD%91%E7%AB%99%EF%BC%9F.png)
我发现一个随机域已将其 DNS 记录设置为指向我的服务器的 IP 地址,该服务器是 4 个 Apache 服务器前面的 HAProxy 负载均衡器。如何阻止 HAProxy 接受来自此域的请求,而仅允许对合法域的请求?
谢谢
答案1
frontend
在您的 HAProxy 配置定义中:
frontend bla bla bla
<other settings>
#all HTTP traffic must use the correct site name
acl host-mysite hdr(Host) -i mysite.example.com
redirect location http://mysite.example.com/ if !host-mysite
<more settings for frontend>
backend foo
<backend config>
如果愿意,您也可以直接阻止它,方法是:
#block if request isn't for mysite
acl host-mysite hdr(Host) -i mysite.example.com
block if !host-mysite
答案2
根据 HTTP 标头的值进行过滤Host
,例如hdr(Host) -i myhost.example.tld
。