如何让Nginx禁止搜索引擎索引

为什么要禁止搜索引擎收录呢?

真的有人会这样吗?

其实还是有的,比如一个人搭建了镜像,但是不想被其他人发现,那他就需要这样配置。

怎么配置呢?

我采用的方式是让给让Nginx根据搜索引擎爬虫的UA来阻断连接,将以下代码放入Nginx的server块中即可

if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") #防止搜索引擎收录
{
        return 403;
}

如何复用以上配置?

虽然每个配置文件中都写一份也是可以的,但是总是感觉不太优雅(

为了复用以上的配置,我将其单独写成了一份配置文件,目录树如下(无关文件已省略):

.
|
|-nginx.conf
|-common
|  |-anti-search # 这个文件里就是上面的一堆代码
|-conf.d
   |-server.conf

而我的server.conf中内容大致如下(无关内容已省略):

server {
    listen      80;
    listen      443   ssl;
    http2       on;

    include common/anti-search;  # 禁止搜索引擎收录

    location / {
       try_files 404;
    }
}

用起来还算简单吧!这样就可以复用了!

作者:abanana

E~N~F~P~

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

退出移动版