念念不忘,
必有回响!

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

赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Nginx配置代码之屏蔽策略》
文章链接:https://www.wzdao.com/1407.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册