Nginx 配置阻止对域/IP 的非浏览器请求

Nginx 配置阻止对域/IP 的非浏览器请求

最近在托管多个基于 django 的站点的服务器上安装了 django 1.6,我收到很多“ERROR: Invalid HTTP_HOST header”错误。这是已知的“特征”

问题在于请求来自非浏览器,从而触发错误,但未按照 nginx 配置(Nginx 1.6.0)转发。

例如,我设置了一个默认服务器(这也是配置文件中的第一个):

server {
    listen       80 default_server;
    location / {
        return 403 "Forbidden";
    }
}

这在浏览器上是有效的(当我测试它时),但是,不知何故,随机机器人会绕过它(并淹没我的电子邮件)。例如,对 IP 地址或autodiscover.mydomain.com(可能是 outlook/exchange 的东西?)的请求

我也尝试过这个答案,但无济于事,因为他们绕过了默认配置。

有没有办法可以阻止此类访问?

答案1

听起来您想阻止机器人进行随机扫描。您可以通过检查引荐来源来实现这一点。

有一篇很棒的文章http://www.cyberciti.biz/tips/linux-unix-bsd-nginx-webserver-security.html

特别要注意第 10 条——仅允许访问您的域名

相关内容