ウェブサイト検索

Linux で Nginx サーバーのバージョンを非表示にする方法


この短い記事では、Linux のエラー ページと「サーバー HTTP」応答ヘッダー フィールドで Nginx サーバーのバージョンを非表示にする方法を説明します。これは、Nginx HTTP およびプロキシ サーバーを保護する上で推奨される重要な方法の 1 つです。

こちらもお読みください: Apache のバージョン番号やその他の機密情報を非表示にする方法

このガイドは、システムに Nginx がすでにインストールされているか、Linux ディストリビューションに基づいて以下のチュートリアルのいずれかに従って完全な LEMP スタックをセットアップしていることを前提としています。

  1. Debian 9 Stretch に LEMP (Linux、Nginx、MariaDB、PHP-FPM) をインストールする方法
  2. FreeBSD に Nginx、MariaDB、PHP (FEMP) スタックをインストールする方法
  3. 16.10/16.04 に Nginx、MariaDB 10、PHP 7 (LEMP スタック) をインストールする方法
  4. 最新の Nginx 1.10.1、MariaDB 10、および PHP 5.5/5.6 を RHEL/CentOS 7/6 および Fedora 20-26 にインストールする

次のスクリーンショットに示すように、「server_tokens」ディレクティブは、エラー ページと「Server」HTTP 応答ヘッダー フィールドに Nginx のバージョン番号とオペレーティング システムを表示します。

これを無効にするには、/etc/nginx/nginx.conf 設定ファイルの server_tokens ディレクティブをオフにする必要があります。

vi /etc/nginx/nginx.conf
OR
sudo nano /etc/nginx/nginx.conf

以下のスクリーンショットに示されているように、http コンテキストに次の行を追加します。

server_tokens off;

上記の行を追加した後、ファイルを保存し、Nginx サーバーを再起動して、新しい変更を有効にします。

systemctl restart nginx
OR
sudo systemctl restart nginx

次に、それが機能するかどうかを確認します。

: これにより、サーバーのバージョン番号のみが非表示になり、サーバーの署名 (名前) は非表示になりません。サーバー名を非表示にしたい場合は、ソースから Nginx をコンパイルし、 --build=name オプションを含めて nginx ビルド名を設定します。

Nginx Web サーバーで PHP を実行している場合は、PHP バージョン番号を非表示にすることをお勧めします。

Nginx Web サーバーのセキュリティをさらに強化して強化するには、Linux で Nginx をセキュリティで保護するための包括的なガイドを確認してください。これは役に立つと思います。

  1. Nginx Web サーバーのセキュリティを確保、強化し、パフォーマンスを向上させるための究極のガイド

この記事では、Linux でエラー ページと「サーバー」HTTP 応答ヘッダー フィールドで Nginx サーバーのバージョンを非表示にする方法を説明しました。ご質問がある場合は、以下のコメントフォームを使用してご連絡ください。