今天给大家带来的是Nginx配置代码之屏蔽策略,主要用于屏蔽特定类型的访问请求,包括电脑端、微信/QQ客户端、搜索引擎爬虫以及来自特定搜索引擎的引用流量。 1. 屏蔽电脑端访问 [ol]if ($http_user_agent ~* "windows") { return 444; } #屏蔽电脑端访问 [/ol]复制代码通过匹配User-Agent中的Windows关键字(不区分大小写),屏蔽所有来自Windows系统的请求,通常用于限制电脑端访问,仅允许移动设备。(需要注意的是:可能会误伤部分非Windows设备或合法流量,请结合实际业务场景进行调整) 2. 屏蔽微信客户端 [ol]if ($http_user_agent ~* "MicroMessenger") { return 444; } #屏蔽微信客户端 [/ol]复制代码微信客户端的User-Agent通常包含MicroMessenger,这条规则会拦截来自微信内置浏览器的访问。常用于防止微信内分享链接被滥用,或限制特定业务场景的访问来源。 3. 屏蔽QQ客户端 [ol]if ($http_user_agent ~* "QQ/") { return 444; } #屏蔽 QQ客户端 [/ol]复制代码QQ客户端则包含QQ/,这条规则会拦截来自QQ浏览器的访问。常用于防止QQ内分享链接被滥用,或限制特定业务场景的访问来源。 4. 屏蔽搜索引擎的引用流量 [ol]if ($http_referer ~* "baidu.com|sogou.com|so.com|google.com|bing.com|sm.cn") { return 444; } #屏蔽搜索引擎的引用流量 [/ol]复制代码通过检查HTTP请求头中的Referer字段,拦截来自百度、搜狗、Google等搜索引擎的跳转流量。防止竞争对手通过搜索引擎爬取内容,或减少无效引流的带宽消耗。 5. 屏蔽搜索引擎爬虫和恶意爬虫 [ol]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; } #屏蔽搜索引擎爬虫和恶意爬虫 [/ol]复制代码匹配常见的爬虫User-Agent(如SemrushBot、Baiduspider、Googlebot等,可根据实际业务场景进行调整增删爬虫UA),直接返回444状态码中断连接 ,阻止非必要爬虫消耗服务器资源。 屏蔽, 爬虫