有以下的需求:
- 对所有的机器人、爬虫、蜘蛛屏蔽内部测试用的站点。
- 对使用 Microsoft Windows Internet Explorer 浏览器的用户展示一个“请更换浏览器”的页面。
set $botblocker_flag "0"; if ($http_user_agent ~* "bot|spider|crawl") { set $botblocker_flag "${botblocker_flag}1"; } if ($uri !~ "/robots.txt(\?.*)?") { set $botblocker_flag "${botblocker_flag}2"; } if ($botblocker_flag = "012") { return 403; } set $botblocker_flag ""; location = /noie.html { return 403; error_page 403 =403 @noie; } location @noie { root /var/www/error; index noie.html; } if ($http_user_agent ~* "MSIE| (360)?se |360spider|sou?gou|tencenttraveler") { rewrite .* /noie.html; }
把上面的内容放到 /etc/nginx/botblocker 里。某一个站点需要用的时候就 include botblocker; 插在 server{} 块内。
然后写一个劝说用户更换浏览器的页面放在 /var/www/error/noie.html 里面。
没有评论:
发表评论