屏蔽国内IP访问是很多做外贸同行的硬需求,具体原因各种各样,但是归根结底:不希望同行、竞争对手访问自己的网站,查看、copy自己的新产品。
实现的方法有很多种,比如:
- 服务器端(Apache、NGINX)
- CDN服务端
- 使用云防火墙
- web程序端
- 浏览器端
通过免费的Cloudflare屏蔽
本文介绍一种非常简单的办法,给屏蔽国家一个障眼法(特供页面),通过免费的cloudflare即可实现:
- 国外客人正常访问
- 国内IP访问时,展示一个指定的页面(比如网站建设中,或者是一个很low的页面)
优点
- 在CDN端实现了跳转,完全没有通过服务器
- cloudflare提供了很多个维度来设置条件,可以设置多种规则组合,实现更加复杂的规则,比如国家、大洲、UA等等
- 万一自己被拦在了外面,在cloudflare中暂停规则就可以放行自己
特别提醒
- 在切换nameserver期间,此操作有可能会影响网站访问及邮箱使用,正常几分钟,有时候可能需要几个小时,全看手气
- 在部署规则之前,确定自己的电脑能够访问Google,否则规则一旦部署,将把自己也拦在外面
- 规则部署之后,自己只需要挂上v(和上Google一样的方法),即可正常访问网站
在网站创建一个“特供”中国IP的页面
我一般会创建一个“网站建设中”,或者是其他信息的页面均可
如果你的网站域名已经在cloudflare上托管了,可以跳过第2/3步
注册cloudflare
https://www.cloudflare.com/
把网站域名托管到cloudflare进行管理
选择最底下的Free方案,然后继续
导入DNS记录到cloudflare
这时cloudflare会扫描已有的DNS解析记录,并导入进来,
手动调整DNS记录
如果之前使用了siteground的cdn,不同地方的a记录也不同,因此cloudflare导入的A记录就是错误的,需要手动进行调整:
- 先在cloudflare自动导入的DNS记录中,找到这两条记录,一条是只有域名的,另外一条是www,点击右侧的edit
- 把它改成siteground服务器的真实IP,proxy小云朵也开启,这样就可以使用cloudflare的免费CDN了,点击保存
- 同样的方法,把这两条DNS记录都修改一下
如何找到siteground服务器真实IP
修改域名NS到cloudflare
检查无误后点击“continue”,然后下一步就会提示将域名的Name server改到cloudflare
cloudflare给每个人分的ns不一样,需要以自己账号后台显示的为准
这时需要在注册域名的服务商后台进行修改,修改好了之后,回到cloudflare,点击完成。
完成cloudflare域名设置
接下来的3步,参照截图设置即可:
待域名的nameserver同步到了cloudflare,就可以进行到下一步了。
特别注意这期间网站有可能会掉线,直到nameserver同步到cloudflare完成,有时候几分钟,有时候几个小时。
设置屏蔽规则
域名切换完成,并且网站正常访问之后,在cloudflare后台点击“rules”
选择transform rules