By modifying the nginx conf file, you can easily customize the HTTP Header.
Nginx uses the ngx_headers_more module to add and delete outbound and inbound Header information. By default, this module is not added to the source code of Nginx. If you want to use related functions, you need to add this module when compiling Nginx. Nginx in my server did not add this module when compiling. Use -V to view the current Nginx compilation parameters:
[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 ~]#
Download the module from the official website:
[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
Before recompiling Nginx, request www. Header information of z-dig.com:
[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 ~]#
Now recompile Nginx and update smoothly:
[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]#
At this point, Nginx has been recompiled and smoothly upgraded successfully.
Add code to the Nginx configuration file to delete the X-Powered-By and WP-Super-Cache in the header returned by the previously requested website:
more_clear_headers 'X-Powered-By'; more_clear_headers 'WP-Super-Cache'; [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
Request again to see the effect:
[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 ~]#
After testing, the header specified information in the request return has been successfully deleted. To learn about other functions of ngx_headers_more, please visit the project official website.
The above is the detailed content of How to define Header header information through Nginx. For more information, please follow other related articles on the PHP Chinese website!