前言
近期申请了个SSL证书玩玩,所以博客也启用了HTTPS(一方面也是因为垃圾评论太多,启用HTTPS也应该能防一些简单的灌水机吧?)。
然后听到某朋友提醒,百度等搜索引擎的爬虫是不抓HTTPS的,这样会带来收录问题。
开始
经过一番思考,想到通过NGINX规则来解决这个问题,便上网进行了搜索相关爬虫的UA,编写了以下规则。
需要注意的是,NGINX规则不像平时所写的代码,并不支持逻辑与/或,也不能条件嵌套。
| 代码如下 | 复制代码 |
| set $flag 0; if ($host != 'jerry.hk') { set $flag 1; } if ($server_port = 80) { set $flag 1; } if ($scheme = http) { set $flag 1; } if ($http_user_agent ~* (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)){ set $flag 2; } if ($flag = 1){ rewrite ^/(.*)$ https://jerry.hk/$1 redirect; } error_page 497 https://*j*erry.*hk$request_uri; |
|
效果
该规则能够简单区分爬虫和普通用户,起到下面的效果:
普通用户(正常访问)
1.访问带www的域名(www.111com.net)跳转到不带www的域名(111com.net)
2.强制启用HTTPS(用户使用HTTP访问将跳转到HTTPS)
搜索引擎爬虫
可以正常访问HTTP页面
Tplink企业版路由器WiFi名称的默认设置介绍(Tplink企业版路由器WiFi名称的默认设置是什么)
Tplink路由器灯常亮无法上网的原因分析(如何解决Tplink路由器灯常亮无法上网的问题)
Tplink千兆企业级路由器自动重启的作用和优势介绍(如何设置Tplink千兆企业级路由器自动重启功能)
一根天线的tplink路由器有哪些(一根天线的Tplink路由器的特点和优势介绍)
tplink路由器外网访问不了nas(Tplink路由器外网访问NAS的原因分析)
Tplink无法搜到路由器的原因分析(如何解决Tplink无法搜到路由器的问题)