Nginx阻止浏览器语言和空UA的配置
accept_language標識為如下的都可以認為是中文瀏覽器:
zh 中文
zh-cn 大陸
zh-tw 台灣
zh-hk 香港
所以如果要在Nginx中阻止中文訪問,可以在Server中加入:
if ($http_accept_language ~* ^zh) { return 404;}
若你不想返回404可重寫跳轉為其他網址
if ($http_accept_language ~* ^zh) { rewrite ^/ https://www.google.com;}
對於用戶代理(UA)是空的,那麼必定不是正常訪問(不是通過瀏覽器或爬蟲訪問),這個是有理由必須禁止的,另外,對於一些已知的惡劣採集器,流氓爬蟲等,最好也禁止:
if ($http_user_agent ~* (^$|LWP::Simple|BBBike|wget|scrapbot)) { return 404;}
附:
若是用apache可訪問在線工具
http://incredibill.me/htaccess-block-language