PR

Nginxのバージョン情報を隠す方法

Nginxのバージョン情報を表示させないようにする方法です。

動作確認は「Ubuntu 24.04 LTS」で行っています。

サーバ全体への設定

サーバ全体に「Nginx」のバージョンを非表示にする設定を行いたい場合は、「/etc/nginx/nginx.conf」のhttpディレクティブに「server_tokens off;」の設定を追加します。

設定例

「/etc/nginx/nginx.conf」のバックアップを行ってから、設定の追加を行っていきます。

$ cd /etc/nginx
$ sudo cp -p nginx.conf nginx.conf_$(date "+%Y%m%d_%H%M%S")
$ sudo vi nginx.conf 

下記は「Ubuntu」に「Nginx」公式のリポジトリを使用してインストールした際の「/etc/nginx/nginx.conf」で、httpディレクティブ部分のみ抜粋しています。

###   省略   ###

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    server_tokens off;  # 追加した設定 

    include /etc/nginx/conf.d/*.conf;
}

個別に設定したい場合の設定

バーチャルホストごとにバージョンの表示と非表示を好きなように設定したい場合は、「/etc/nginx/conf.d/xxx.conf」(バーチャルホストの設定ファイル)のserverディレクティブに「server_tokens off;」の設定を追加します。

$ cd /etc/nginx/conf.d/
$ sudo cp -p  xxx.conf xxx.conf_$(date "+%Y%m%d_%H%M%S")
$ sudo vi xxx.conf 

以下は設定例となります。

server {
    listen       80;
    server_name  vpslife.server-memo.net;

    ### 省略 ###

    server_tokens off;   # 追加した設定

    ### 省略 ###
}

設定反映

設定が終わったら、「nginx -t」で設定書式の確認を行った後に「nginx」を再起動して設定を反映させます。

$ sudo nginx -t
$ sudo systemctl restart nginx 

動作確認

「curl -I」コマンドで「Nginx」が返してくるヘッダー情報で、サーバの種類とバージョンの情報を確認することが出来ます。

設定変更前は「Server: nginx/1.27.4」とバージョンが表示されています。

$ curl -I http://vpslife.server-memo.net
HTTP/1.1 200 OK
Server: nginx/1.27.4
Date: Mon, 03 Mar 2025 08:42:24 GMT
Content-Type: text/html; charset=ISO-8859-1
Connection: keep-alive

設定変更後は「Server: nginx」とバージョンが表示されなくなっていることを確認して下さい。

$ curl -I http://vpslife.server-memo.net
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 03 Mar 2025 08:42:44 GMT
Content-Type: text/html; charset=ISO-8859-1
Connection: keep-alive

WebブラウザでNginxのバージョンを確認する方法を下記のページで説明しているので、興味があれば参照してみて下さい。

Nginxのバージョンを確認する方法の色々
Nginxのバージョンを確認する方法を色々とまとめました。nginxコマンドで確認Nginxがインストールされているサーバで、「nginx」コマンドを使用してバージョンを表示させる方法です。nginx -v (vは小文字)「nginx -v...

コメント

タイトルとURLをコピーしました