web-dev-qa-db-ja.com

Nginxサーバーの署名を変更(非表示)する方法は?

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経由で更新された名前を取得します。ただし、ブラウザではありません。

18
KMG

あなたがubuntuで働いているなら

  1. 最初のインストールnginx-extras

    Sudo apt-get install nginx-extras
    
  2. /etc/nginx/nginx.confに移動し、httpの下に以下を追加します。

    http {
        more_set_headers "Server: Your_New_Server_Name";
        server_tokens off; 
    }
    
  3. Nginxを再起動します

    Sudo service nginx restart
    
28
prakash09
  1. インストールHttpHeadersMoreModule- http://wiki.nginx.org/HttpHeadersMoreModule
  2. more_set_headersディレクティブを使用して変更します。
  3. Nginxをリロードして有効にします。

    Nginxバージョン情報を非表示にします。

    server_tokens off;

    サーバー名を変更します。

    more_set_headers "Server:MyServerName";

10
Tan Hong Tat

Nginx confに移動し、server_tokensをオフにします。

/etc/nginx/nginx.conf

server_tokens off;
7
naren

これはNginxの設定で使用できます。

proxy_pass_header Server;
1
Println

ModSecurity v2.0-v2.9を使用している場合、.confファイルで使用できます

SecServerSignature SomeName

ModSecurity v3 SecServerSignatureは非推奨になりましたが、他のものに置き換えられたかどうかはわかりません。

0
Jeff