Offに設定されたserver_tokensオプションを使用して、Nginxバージョンを非表示にできます。ただし、Nginx Serverの署名を変更することはできません。
私がしたステップ、
1.)ソースファイル(src/http/ngx_http_header_filter_module.c)のNginxサーバー名を「My-Server」に変更します。その後、nginxをコンパイルしました。しかし、URLをロードすると機能しません。ここで奇妙なのは、curlコマンドを使用すると、更新された署名が表示されることです。しかし、これはブラウザでは更新されません。
2.)そこで、サードパーティのモジュール(headers-more-nginx-module)を試しました。これも機能しません。 Curl経由で更新された名前を取得します。ただし、ブラウザではありません。
あなたがubuntuで働いているなら
最初のインストールnginx-extras
Sudo apt-get install nginx-extras
/etc/nginx/nginx.conf
に移動し、http
の下に以下を追加します。
http {
more_set_headers "Server: Your_New_Server_Name";
server_tokens off;
}
Nginxを再起動します
Sudo service nginx restart
HttpHeadersMoreModule
- http://wiki.nginx.org/HttpHeadersMoreModulemore_set_headers
ディレクティブを使用して変更します。Nginxをリロードして有効にします。
server_tokens off;
more_set_headers "Server:MyServerName";
Nginx confに移動し、server_tokensをオフにします。
/etc/nginx/nginx.conf
server_tokens off;
これはNginxの設定で使用できます。
proxy_pass_header Server;
ModSecurity v2.0-v2.9を使用している場合、.confファイルで使用できます
SecServerSignature SomeName
ModSecurity v3 SecServerSignatureは非推奨になりましたが、他のものに置き換えられたかどうかはわかりません。