我有一个运行 OpenSUSE 11.1 的 Web 服务器,我需要屏蔽某个 URL。我想屏蔽某个 URL 的原因是,它似乎一直有不同的 IP 地址,但 URL 却保持不变。
我不想安装任何新软件,所以我希望使用 IPTABLES 或 Apache 来实现这一点。
这样的事情会起作用吗?
iptables -A INPUT -s botmasterlabs.net -j DROP
iptables -A OUTPUT -d botmasterlabs.net -j DROP
还有其他想法吗?
答案1
iptables
将在防火墙加载时解析名称。它不适用于您遇到的具有动态地址的服务器。如果问题站点具有静态地址,则您只需要 INPUT 规则。
Apache rewrite 应该能够做到这一点,但服务器响应的每个请求都会花费你一次 DNS 查找。如果你还没有缓存 DNS 服务器,请安装一个。dnsmasq
对于较小的网站来说,像下面这样的轻量级服务器就足够了。类似下面的内容应该可以禁止访问。请参阅URL 重写指南以获取更多指导。
RewriteEngine on
RewriteCond %{REMOTE_HOST} example\.com$
RewriteRule * - [F]
答案2
我建议您在 Apache 配置中针对相关虚拟主机使用类似这样的配置:
RewriteEngine on
RedirectMatch /folder(.*) http://is.gd/8BhjPN
这对你有用吗?注意:重定向目标可能不是你想要传达的确切信息 - 你可能希望根据情况的具体情况来增加或减少该信息。