cloudflare防火墙规则使用

登录官方后台,任何第三方面板都没有入站防火墙功能!
点击防火墙,firewall rules 总共可以建立5个建立一条规则 起名 坏ip验证码,选择threat score,然后选择greater than or equal to 空格里写2,下面的行为选择Challenge (Captcha)
意思就是,只要ip的bad评分值等于或者大于2,就启动验证码!

为了避免爬虫也被验证码拦截,我们附加一个and,
选择known bots ,然后把开关点到off,
意思就是不是已知爬虫
两个条目合起来就是

当ip的坏蛋值达到2分以上,并且不属于已知的爬虫,将使用验证码拦截访问。
已知爬虫参见 官方常见问题
https://developers.cloudflare.com/firewall/known-issues-and-faq/#how-does-firewall-rules-handle-traffic-from-known-bots页面的
How does Firewall Rules handle traffic from known bots? 部分

强制跳转www域名,实现http向https跳转强制使用SSL状态码200

修改Nginx配置文件

Nginx配置文件可能已经有其它内容,请视情况增删修改,不要重复内容。

1.将example.com定向到www.example.com

 
server {
listen 80;
server_name 80tm.com www.80tm.com;
if ($host != 'www.80tm.com') {
rewrite ^/(.*)$ https://www.80tm.com/$1 permanent;
}
}

以上代码同时实现http向https跳转,强制使用SSL保持状态码200
备注:
如果给网站套用了CDN,需要开启双向SSL证书,同时关闭所有跳转。
以cloudflare举例:
1、将 SSL 策略设为 Full 或者 Full(strict) 。2
2、关闭Always Use HTTPS 和 Automatic HTTPS Rewrites,这两项都是域名301跳转
3、网站配置文件中关闭TLSv1.0 解密协议,此为过时协议,方法

2.将www.example.com定向到example.com

 
server {
listen 80;
server_name example.com www.example.com;
if ($host != 'example.com') {
rewrite ^/(.*)$ https://example.com/$1 permanent;
}
}

修改完,保存,测试即可!