我拥有一个专用的 CentOS 机器,使用 lighttpd 来提供服务www.newdomain.com
。但是,同一个 IP 用来托管一个旧域名www.olddomain.com
。
该盒子仍然会收到请求www.olddomain.com
。
阻止这些请求最有效的方法是什么?
- 通过 iptables 规则
- 根据 lighttpd 中的规则
- 添加 hosts.deny
- 另一个没有想到的选择
笔记:我无法访问以下域名服务器或域记录:www.olddomain.com
答案1
为旧域名创建一个虚拟主机,以空目录作为根目录(仅提供 404 服务)。
答案2
使用 iptables string module
。虽然这不是最推荐的方法,但您可能需要考虑它,因为您似乎有兴趣完全阻止它。字符串模块需要 Linux 内核 >= 2.6.14
规则如下 -
/sbin/iptables -I INPUT -p tcp --dport 80 -m string --algo bm --string "www.olddomain.com" -j DROP
但请记住,这最终可能会阻止合法流量。您必须确认您的旧域名不会出现在您域中所有网站的任何 URL 请求中。
答案3
根据您对我的评论的回复,我会使用 iptables 或硬件设备来丢弃数据包。使用 iptables 将使您的 Web 服务无需处理请求。使用其他硬件设备(如防火墙)会是更好的选择,因为它们的速度更快,而且它永远不会到达您的服务器。
答案4
如果 www.newdomain.com 是默认值,则 Web 服务器很可能会使用它来响应任何域的请求。
配置您的网络服务器以仅响应 www.newdomain.com 并忽略其他所有内容。
(我有一段时间没有使用 lighttpd 了,你需要查找一下语法。)