1

我正在使用 mvps.org 主机文件来阻止本地不需要的连接。问题是我在 80 上运行 nginx 监听,所有被阻止的站点都通过 nginx 路由到我的独角兽网络服务器,这极大地减慢了我的网络浏览速度。Unicorn 正在尝试处理所有这些对未知资源的请求。

我可以使用 hosts 文件将这些请求路由到 127.0.0.1 以外的某个空路径吗?

成功:将被阻止的地址路由到不会尝试响应的地方——从而提高页面加载速度。

4

2 回答 2

1

您可以路由到子网中任何不存在的 IP 地址。这也应该可以解决问题。

或者,在 nginx 中,为 * 设置一个默认站点,该站点会断开连接(返回 444),并确保您拥有真实站点的 server_name。

于 2013-01-26T19:34:46.860 回答
0

使用 NGinx 阻止滥用客户端非常容易。理想情况下,您希望对请求进行缓送(即,长时间保持连接打开以减慢滥用客户端的速度),但 NGinx 似乎没有这样做。你想要的是拒绝配置选项。如果你想在全局范围内这样做,你可以在 http 块中添加拒绝。像这样的东西:

http {
  ...
  deny 1.2.3.4;
  deny 5.6.7.8;
  ...
}

如果您有很多地址要阻止,这可能会有点麻烦。一种选择是在单独的文件中构建列表,然后将其包含在您的主配置文件中。所以,你可能有 /etc/nginx/blocks.conf 看起来像这样:

deny 1.2.3.4;
deny 5.6.7.8;
...

这可以使用脚本轻松生成。然后,您可以像这样将其包含到您的主 conf 中:

http {
  ...
  include blocks.conf;
  ...
}

这样,请求就不会通过你的独角兽。

于 2013-01-31T20:21:13.147 回答