天天看点

Nginx设置Header头信息 headers-more-nginx-module

      Nginx 使用 ngx_headers_more 模块来增加、删除出站、入站的 Header 信息。

ngx_headers_more 项目主页

默认该模块没有加入到 Nginx 的源码中,要想使用相关功能需要在编译 Nginx 时加入该模块。

本人服务器中的 Nginx 在编译时没有加入该模块,使用 -V 查看当前 Nginx 的编译参数:

 

1 2 3 4 5 6 7 8 [ root @ z - dig ~ ] # nginx -V nginx version : www . z - dig . com built by gcc 4.4.7 20120313 ( Red Hat 4.4.7 - 16 ) ( GCC ) built with OpenSSL 1.0.1e - fips 11 Feb 2013 TLS SNI support enabled configure arguments : -- prefix = / usr / local / nginx -- user = www -- group = www \ -- with - http_ssl_module -- with - http_stub_status _module [ root @ z - dig ~ ] #

从官网下载模块:

 

1 2 3 4 [ root @ z - dig ~ ] # cd /usr/local/src/ [ root @ z - dig src ] # wget 、https://codeload.github.com/openresty/headers-more-nginx-module/zip/master\ - O . / headers - more - nginx - module - master . zip [ root @ z - dig src ] # unzip headers-more-nginx-module-master.zip

重新编译 Nginx 前,请求 www.z-dig.com 的 Header 信息:

 

1 2 3 4 5 6 7 8 9 10 11 12 [ root @ KVM ~ ] # curl -I www.z-dig.com HTTP / 1.1 200 OK Server : www . z - dig . com Date : Sat , 23 Apr 2016 11 : 25 : 15 GMT Content - Type : text / html ; charset = UTF - 8 Connection : keep - alive X - Powered - By : PHP / 5.6.17 Vary : Accept - Encoding , Cookie Cache - Control : max - age = 3 , must - revalidate WP - Super - Cache : Served supercache file from PHP   [ root @ KVM ~ ] #

现在重新编译 Nginx ,平滑更新:

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [ root @ z - dig ~ ] # cd /usr/local/src/nginx [ root @ z - dig nginx ] # make clean rm - rf Makefile objs [ root @ z - dig nginx ] #./configure --prefix=/usr/local/nginx --user=www --group=www \ -- with - http_ssl_module -- with - http_stub_status _module \ -- add - module = / usr / local / src / headers - more - nginx - module - master [ root @ z - dig nginx ] # make [ root @ z - dig nginx ] # make install [ root @ z - dig nginx ] # kill -s USR2 `cat /usr/local/nginx/logs/nginx.pid` [ root @ z - dig nginx ] # ps -ef|grep nginx root        2017      1    0 Apr21 ?          00 : 00 : 00 nginx : master process / usr / local / nginx / sbin / nginx www        2018    2017    0 Apr21 ?          00 : 00 : 30 nginx : worker process     root      21717    2017    0 19 : 41 ?          00 : 00 : 00 nginx : master process / usr / local / nginx / sbin / nginx www        21718 21717    0 19 : 41 ?          00 : 00 : 00 nginx : worker process     root      21856 18312    0 19 : 45 pts / 2      00 : 00 : 00 grep nginx [ root @ z - dig nginx ] # kill -s WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin` [ root @ z - dig nginx ] # ps -ef|grep nginx root        2017      1    0 Apr21 ?          00 : 00 : 00 nginx : master process / usr / local / nginx / sbin / nginx root      21717    2017    0 19 : 41 ?          00 : 00 : 00 nginx : master process / usr / local / nginx / sbin / nginx www        21718 21717    0 19 : 41 ?          00 : 00 : 00 nginx : worker process     root      21943 18312    0 19 : 49 pts / 2      00 : 00 : 00 grep nginx [ root @ z - dig nginx ] # kill -s QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` [ root @ z - dig nginx ] # ps -ef|grep nginx root      21717      1    0 19 : 41 ?          00 : 00 : 00 nginx : master process / usr / local / nginx / sbin / nginx www        21718 21717    0 19 : 41 ?          00 : 00 : 00 nginx : worker process     root      22050 18312    0 19 : 54 pts / 2      00 : 00 : 00 grep nginx [ root @ z - dig nginx ] #

到此 Nginx 已重新编译并平滑升级成功。

在 Nginx 的配置文件中加入代码,将之前请求网站返回 Header 中的 X-Powered-By 和 WP-Super-Cache 删除:

 

1 2 more_clear _headers 'X-Powered-By' ; more_clear _headers 'WP-Super-Cache' ;

 

 

1 2 3 4 [ root @ z - dig ~ ] # nginx -t nginx : the configuration file / usr / local / nginx / conf / nginx . conf syntax is ok nginx : configuration file / usr / local / nginx / conf / nginx . conf test is successful [ root @ z - dig ~ ] # nginx -s reload

再次请求查看效果:

 

1 2 3 4 5 6 7 8 9 10 [ root @ KVM ~ ] # curl -I www.z-dig.com HTTP / 1.1 200 OK Server : www . z - dig . com Date : Sat , 23 Apr 2016 12 : 03 : 04 GMT Content - Type : text / html ; charset = UTF - 8 Connection : keep - alive Vary : Accept - Encoding , Cookie Cache - Control : max - age = 3 , must - revalidate   [ root @ KVM ~ ] #