博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

通过Nginx使全站页面变灰

Posted on 2018-11-14 16:53  Tang&An  阅读(1195)  评论(0编辑  收藏  举报

      摘要:某大神的博客说“在Nginx负载均衡服务器上,利用sub_filter指令在输出的HTML中增加一行:
<style type="text/css">html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }</style>

就可以实现在IE及IE内核浏览器下,所有网站变灰色。” 特此试验

主要步骤:

  1、重新编译nginx,增加http_sub_module模块。

  2、在nginx.conf配置文件的http {...}大括号内增加以下两行:

sub_filter  '</head>'  '<style type="text/css">html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }</style></head>';
sub_filter_once on;

正文

一、重新编译nginx,添加新模块

 1.1 首先,查看之前编译的一些参数

  # /usr/local/nginx/sbin/nginx -V

 1.2 进入nginx源码包

  # cd /usr/src/nginx-1.10.2

 1.3 重新预配置,将要编译的参数重新添加到后面(包括之前已经编译过的模块)

       

 1.4编译

  #make 

  (*注:这里只能make 千万别make install,否则就覆盖安装了)

 1.5 make完成后,在源码目录下会有一个objs目录,objs目录下就多了个nginx,这个就是新版本的程序了。

       

  将objs目录下的nginx替换之前已经安装过的nginx程序。

       先备份旧的nginx程序,然后将新的nginx程序覆盖过来

       

  如果提示“cp:cannot create regular file `/usr/local/nginx/sbin/nginx': Text file busy”,建议使用如下语句cp    #cp -rfp objs/nginx /usr/local/nginx/sbin/nginx

 1.6 查看配置信息

       

 1.7  测试新的nginx程序是否正确

  # /usr/local/nginx/nginx -t

   nginx: the configuration file /usr/local/nginx/nginx.conf syntax is ok

   nginx: configuration file /usr/local/nginx/nginx.conf test is successful

  重启服务

   # /usr/local/nginx/nginx -s reload

       

二、修改配置文件

        在nginx.conf配置文件的http {...}大括号内增加以下两行:

  sub_filter  '</head>'  '<style sub_filter  '</head>'  '<style type="text/css">html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }</style></head>';

  sub_filter_once on;                                                                                                                                                                                                          

   保存后,重新加载配置文件:

  /usr/local/webserver/nginx/sbin/nginx –t

  /usr/local/webserver/nginx/sbin/nginx -s reload

 用ie浏览器测试

   

并没有变灰