前置条件:nginx需要有http_sub_module模块 nginx配置网站页面变灰,主要是通过ngx_http_sub_module模块来进行配置,已经安装该模块的可以直接配置,未安装的需新增编译该模块,新增--with-http_sub_module 模块编译 模块安装完成后在nginx.conf配置文件中 http{} 层新增以下配置 添加如下配置:

http {
      ……
    # 上面为其他配置项
    
    #start置灰代码快
    # 全站页面变灰,用于哀悼日
    #############################国家重大丧事开启#############################
    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;
    #############################国家重大丧事开启#############################
    #end置灰代码快
}

这样重启nginx后再重新加载网页,所有被反向代理的网站都变成灰色了。灰度可自行修改。

配置文件信息如下: image.png

参数说明:

sub_filter 模块可以用在http, server, location模块中。主要作用就是查找替换文件字符。
sub_filter 一行代码前面是需要替换的内容,后面单引号内是替换成的内容。
sub_filter_types 一行意思是选定查找替换文件类型为文本型。也可以不加此行,因为默认只查找text/html文件。
sub_filter_once 意思是只查找并替换一次。on是开启此功能,off是关闭—默认值是on。
sub_filter_once off;指令表示对每个响应都进行替换,而不只是第一次遇到时替换。

-webkit-filter: 带有 webkit 前缀可以在 webkit 内核的浏览器中生效;
-moz-filter:带有 moz 前缀可以在 Firefox 浏览器中生效;
-ms-filter:带有 ms 前缀可以在 IE 浏览器生效;
-o-filter:带有 o 前缀可以在 Opera 浏览器生效;
最后三行都是为了兼容 IE 内核的浏览器。

配置定时任务定时执行置灰

crontab每年定时执行:
#每年的12月13日0点执行网站置灰脚本
0 0 13 12 * /midd/nginxserver/zhihui.sh

# cat zhihui.sh(配置文件要保持一直,在给置灰的配置文件增加置灰的参数)
#!/bin/bash
#rm -f /midd/nginxserver/conf/nginx.conf
mv /midd/nginxserver/conf/nginx.conf /midd/nginxserver/conf/nginx.conf-bak
cp /midd/nginxserver/conf/nginx.confzhihui /midd/nginxserver/conf/nginx.conf
systemctl reload nginx