chaihongjun.me

nginx屏蔽恶意UA

nginx屏蔽恶意UA

最近接到通知,行政部门检查网站内容是否存在不合适的内容,作为守法人员早在半个月前就已经做过自审自查,但是为了避免不必要的麻烦,还是给网站做一个临时维护吧。

临时维护的思路是,将网站所有的页面都指向一个维护页面,体现在浏览器端则是URL变了,但是内容始终是维护的内容。

在nginx的server段内添加:

server {
  server_name   
   ... 
  rewrite ^(.*)$ /index.html break;

}

说明几点:

  1. 上面的示例会将所有页面定向到www.example.com/index.html ,如果想换成你的页面,则对应修改,这里路径是相对的

  2. 上面的页面都指向了首页,但是URL没变化,比如访问www.example.com/demo/  ,浏览器地址栏依然是显示demo地址,但是内容还是首页的。

 

另外,再补充一个关于防护扫描器的设置。

首先在nginx的http段内添加:

map $http_user_agent $bad_bot {
    default 0;
    ~*^Lynx 0; # Let Lynx go through
    libwww-perl                      1;
    ~(?i)(httrack|htmlparser|libwww) 1;
    "~Java"		1;
    "~PHP\/\d"		1;
    "~Transmission"	1;
}

然后再在主机的server内添加:

if ($bad_bot) {
        return 403;
    }

这样那些JAVA,PHP扫描器什么的就可以歇着了。

知识共享许可协议本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。作者:柴宏俊»