一般在清明节,全国哀悼日,大地震的日子,以及一些影响力很大的伟人逝世或纪念日的时候,身为站长的我们都会让自己的网站的全部网页变成灰色(黑白色),以表示我们对逝者的悼念。可是管理的网站又很多,可能一个域名下有多个项目,一个一个的修改又太麻烦了,这样就可用考虑从Nginx反向代理服务器下手,直接在Nginx中进行修改一劳永逸。 在Nginx反向代理服务器上,利用sub_filter指令在输出的HTML中增加一行就可以实现在IE及IE内核浏览器下,所有网站变灰色。 步骤如下:
- 重新编译Nginx,增加http_sub_module模块
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_realip_module
make && make install
- 在nginx.conf配置文件的http {...}内增加以下代码
http {
……
# 上面为其他配置项
# 全站页面变灰,用于哀悼日
sub_filter '</head>' '<style type="text/css">html { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); filter: gray;}</style></head>';
sub_filter_types *;
sub_filter_once off;
}
- 保持nginx.conf文件并重新加载配置文件,执行以下命令
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
这样,再重新加载网页,所有被反向代理的网站都变成灰色了。