大家都知道的原因,做外贸站,国人喜欢研究你的站,还总是帮你进行压力测试……
首先想到要屏蔽中国IP就会是把中国IP库加入Nginx配置文件中,然后WEB服务器对比IP来达到屏蔽。
在Nginx中加deny IP; 批量可以建立一个ip.conf的文件然后include ip.conf; <a href="http://www.aikaiyuan.com/7948.html">nginx限制IP或IP段的问题</a>
其次是通过IPtable要禁止中国IP段来达到屏蔽的目的。
以下是Iptable的Sh脚本:
#!/bin/bash # Block traffic from a specific country # written by vpsee.com COUNTRY=“cn” IPTABLES=/sbin/iptables EGREP=/bin/egrep if["$(id -u)"!="0"];then echo“you must be root”1>&2 exit1 fi resetrules(){ $IPTABLES-F $IPTABLES-tnat-F $IPTABLES-tmangle-F $IPTABLES-X } resetrules forcin$COUNTRY do country_file=$c.zone IPS=$($EGREP-v“^#|^$” $country_file) forip in$IPS do echo“blocking$ip” $IPTABLES-AINPUT-s$ip-jDROP done done exit0
今天在网上又看到了一种更绝的屏蔽之法:国内有个免费解析的服务商DNSPOD,我们就是利用其独特的解析方式,进行最有效的DNS屏蔽。国内的网络不外乎联通(原网通)、电信、教育网等几种访问模式,恰好,DNSPOD提供了这3种解析模式。首先,我们添加一个默认的解析地址,这里填的是8.8.8.8(请自行对照是您网站的正确IP地址),然后我们依次添加选择3种不同线路的错误IP地址,比如 127.0.0.1,这样来自于国内的访问几乎被彻底的解析到错误的IP地址,也就是可以被另类的屏蔽掉了。
最后介绍一种利用浏览器屏蔽之法:
<script type="text/javascript"> if(navigator.language) varlanguage=navigator.language; else varlanguage=navigator.browserLanguage; if(language.indexOf('zh')>-1)document.location.href='nddbc.html'; </script>
转载请注明:爱开源 » Nginx 屏蔽 中国 IP