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

a3dafa6192b68720d76c568420645387.png

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配置文件的最后一个括号前加入即可。

ddcae0691943f10c5e93a3ac538baf47.png

效果:

2cfa205465cc3917ff976216ad798f2e.png

终于禁了这傻屌的访问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值