阿里云代理商--请您放心购买!助您开心上云!
阿里云购买咨询:13723486509 (全国市话)
当前位置:首页 > 常见问题

nginx根据指定User Agent来屏蔽访问或301跳转

发布时间:2021-11-20 10:26:00 点击:

nginx根据指定User Agent来屏蔽访问或301跳转

今天早上看了自己一个网站监控,频繁的502.检查了下日志发现几乎全是一个SemrushBot/6~bl; +http://www.semrush.com/bot.html的垃圾蜘蛛访问的,百度搜索了下,这东西他不遵守robots规则的,本来想在robots文件里屏蔽下。

然后就打起了在nginx上屏蔽的主意。

下面说下如何屏蔽访问和跳转其他页面。

1.屏蔽UA:SemrushBot/6~bl; +http://www.semrush.com/bot.html的访问,并返回403代码

if ($http_user_agent ~* "SemrushBot|semrush") {
  return 403;
}

其中的SemrushBot|semrush这两个都是上面我们要屏蔽UA的字符。写一个也是没问题的,比如写个SemrushBot。下面return 403是返回403代码,你也可以改成404。

2.根据UA来做301跳转

if ($http_user_agent ~* (SemrushBot|semrush)) {
  rewrite ^/(.*)$ https://www.baidu.com permanent;
}

里面的https://www.baidu.com就是你要跳转到的地址。自己改即可。

放到宝塔的下面位置:

在nginx配置文件的最后一个括号前加入即可。

效果:

终于禁了这傻屌的访问。

优惠 · 活动 | 阿里云代理商 | 阿里云特价主机 | 常见问题 | 关于我们 | 付款方式

阿里云购买咨询:13723486509(全国市话)

大客户经理:13723486509   深圳客户经理:0755-2688-1370

阿里云代理商 | 阿里云服务器价格 | 阿里云ECS购买流程 | 阿里云备案系统| 工信部备案信息查询 工信部官网

CopyRight © 2016 www.yunecs.cn All Rights Reserved 阿里云金牌代理— 佳速互联科技有限公司 技术支持:深圳网站建设 粤ICP备13085233号