nginx conf ファイルを変更することで、HTTP ヘッダーを簡単にカスタマイズできます。
Nginx は、ngx_headers_more モジュールを使用して、送信および受信ヘッダー情報を追加および削除します。デフォルトではこのモジュールはNginxのソースコードに追加されていないため、関連機能を利用したい場合はNginxのコンパイル時にこのモジュールを追加する必要があります。私のサーバーの Nginx は、コンパイル時にこのモジュールを追加しませんでした。現在の Nginx コンパイル パラメータを表示するには、-V を使用してください:
[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 ~]#
公式 Web サイトからモジュールをダウンロードしてください:
[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 のヘッダー情報:
[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 を再コンパイルし、スムーズに更新します:
[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 構成ファイルにコードを追加して、以前にリクエストした Web サイトから返されたヘッダー内の X-Powered-By と WP-Super-Cache を削除します。
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
再度リクエストして効果を確認してください。 :
[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 ~]#
テスト後、リクエストの戻り値にあるヘッダー指定情報が正常に削除されました。 ngx_headers_more のその他の機能については、プロジェクトの公式 Web サイトをご覧ください。
以上がNginx を通じて Header ヘッダー情報を定義する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。