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状态码中断连接 ,阻止非必要爬虫消耗服务器资源。

图片[1]|Nginx配置代码之屏蔽策略|不死鸟资源网
本站资源均为作者提供和网友推荐收集整理而来,仅供学习和研究使用,请在下载后24小时内删除,谢谢合作!
Nginx配置代码之屏蔽策略|不死鸟资源网
Nginx配置代码之屏蔽策略
此内容为免费阅读,请登录后查看
¥0
限时特惠
¥99
文章采用CC BY-NC-SA 4.0许可协议授权
免费阅读
THE END
点赞9 分享