CLI を使用して現在の Nginx バージョンを表示します
Nginx は、エラー ページと "Server" 応答ヘッダー フィールドにバージョンを表示します。これは、次のコマンドを使用して確認できます。出力例:
リーリーこれは、メッセージを示す HTTP/502 エラー ページの出力です:
server_tokens ディレクティブを使用して Nginx バージョンを非表示にします
Linux および Unix 系システムで Nginx サーバーのバージョンを非表示にするには、server_tokens を off に設定する必要があります。 vim/nano などのテキスト エディタを使用して nginx.conf ファイルを編集します:
server_tokens は http、サーバー、またはロケーション コンテキストでのみ設定できます。 http セクションに追加します。次のようになります:
リーリーNginx サーバーを通常どおり再起動またはリロードします:
リーリーNginx バージョンが非表示になっているかどうかを確認します
次のようにcurlコマンドを使用します: Nginxサーバーを見てもバージョンが表示されません:
リーリーFirefox は、Nginx バージョンも正常に非表示にしたことを確認しました:
Nginx バージョンを非表示にするその他の可能な値
構文は次のとおりです。 Linux、*BSD、および Unix のデフォルト設定は次のとおりです。
リーリーサーバーヘッダーとエラーページからバージョンを削除します
次の値に変更することで、nginx バージョンの発行を有効または無効にできます:
on: バージョン番号を表示します。
off: バージョン番号の表示をオフにします。
build: nginx バージョンだけでなくビルド名も出力するようにしてください。 Nginx バージョン 1.11.10 が必要です。
文字列: 商用サブスクリプションでのみ利用可能。バージョン 1.9.13 以降、文字列と変数を使用して、設定エラー ページに署名と「サーバー」応答ヘッダー フィールドの値を表示できるようになりました。空の文字列を指定すると、「server」フィールドの出力が無効になります。
Nginx でカスタム バージョン番号を設定する
たとえば、商用サブスクリプション (Nginx Plus) ユーザーは、偽のサーバー バージョンとカスタム名を設定できます。 service コマンドまたは systemctl コマンドを使用して Nginx サーバーをリロードします。 同様に、以下に示すように、curl コマンドを使用してテストします。 :
リーリー隠しバージョンは隠蔽されても安全です
はい、これは秘密の機能によるセキュリティです。多層防御の手法の一つです。ただし、それが防御の主な形式であるべきではありません。安全なコードを記述する必要があります。ファイアウォール、特に WAF (Web アプリケーション ファイアウォール) をインストールします。攻撃者にとって有益な情報となる可能性があるため、Nginx、PHP、または Python のバージョンを公開する理由はありません。 Linux/Unix オペレーティング システム、Web アプリ/Nginx は、Nginx のバージョンが公開されているかどうかに関係なく、安全性を維持する必要があることに注意してください。ただし、バージョン番号を公開することによって攻撃者に利益がもたらされることはありません。
以上がLinux および Unix で Nginx バージョンを非表示にするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。