Nginx配置代码之屏蔽策略

今天给大家带来的是Nginx配置代码之屏蔽策略,主要用于屏蔽特定类型的访问请求,包括电脑端、微信/QQ客户端、搜索引擎爬虫以及来自特定搜索引擎的引用流量。

1. 屏蔽电脑端访问

if ($http_user_agent ~* "windows") { return 444; } #屏蔽电脑端访问

通过匹配User-Agent中的Windows关键字(不区分大小写),屏蔽所有来自Windows系统的请求,通常用于限制电脑端访问,仅允许移动设备。(需要注意的是:可能会误伤部分非Windows设备或合法流量,请结合实际业务场景进行调整)

2. 屏蔽微信客户端

if ($http_user_agent ~* "MicroMessenger") { return 444; } #屏蔽微信客户端

微信客户端的User-Agent通常包含MicroMessenger,这条规则会拦截来自微信内置浏览器的访问。常用于防止微信内分享链接被滥用,或限制特定业务场景的访问来源。

3. 屏蔽QQ客户端

if ($http_user_agent ~* "QQ/") { return 444; } #屏蔽 QQ客户端

QQ客户端则包含QQ/,这条规则会拦截来自QQ浏览器的访问。常用于防止QQ内分享链接被滥用,或限制特定业务场景的访问来源。

4. 屏蔽搜索引擎的引用流量

if ($http_referer ~* "baidu.com|sogou.com|so.com|google.com|bing.com|sm.cn") { return 444; } #屏蔽搜索引擎的引用流量

通过检查HTTP请求头中的Referer字段,拦截来自百度、搜狗、Google等搜索引擎的跳转流量。防止竞争对手通过搜索引擎爬取内容,或减少无效引流的带宽消耗。

5. 屏蔽搜索引擎爬虫和恶意爬虫

if ($http_user_agent ~* "SemrushBot|python|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup|Baiduspider|baiduspider|sogou spider|sogou web|360spider|Bytespider|toutiao|Sosospider|YodaoBot|msnbot|Googlebot|Amazonbot|dataforseo|DataForSeoBot|semrush|babbar|mj12bot|116.0.0.0") { return 444; } #屏蔽搜索引擎爬虫和恶意爬虫

6、屏蔽QQ安全中心扫描


# 屏蔽User-Agent(根据日志增删UA)
 if ($http_user_agent ~* "(QQSecurity|QQScan|Tencent)") { return 444; } 
# IP黑名单(根据日志增删IP,0.0.0.0/00是举例IP,根据实时日志情况增删。例如:119.28.0.0/16 )
 deny 0.0.0.0/00; allow all; 
# 启用限流 
location / { limit_req zone=antiscan burst=5 nodelay; }

匹配常见的爬虫User-Agent(如SemrushBot、Baiduspider、Googlebot等,可根据实际业务场景进行调整增删爬虫UA),直接返回444状态码中断连接 ,阻止非必要爬虫消耗服务器资源。

免责声明  

⚠️ 本站的资源均来自于网络或用户网盘投稿,仅作个人学习使用,其版权均归原作者所有。
⚠️ 我们非常重视版权问题,如有侵权请发邮件至mqd#live.com,我们会第一时间处理,敬请谅解!

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索