Nginxのバージョン情報を表示するコマンド
|
|
実行結果:
|
|
このコマンドは、標準エラー出力にnginxのバージョンを表示します。
あまりすることは無いと思いますが、標準エラー出力なのでファイルに出力する際のコマンドは下記になります。
|
|
nginxに限ったことではないですがバージョン出力は基本的に標準エラー出力です。
2
を付けないとファイルに出力されません。
リダイレクトの基本的な形式は下記の通りです。
- 標準出力のリダイレクト:
>
オペレータを使用します。例えば、ls > files.txt
は、ls
コマンドの出力をfiles.txt
ファイルにリダイレクトします。 - 標準エラー出力のリダイレクト:
2>
オペレータを使用します。例えば、command 2> error.log
は、command
のエラーメッセージをerror.log
ファイルにリダイレクトします。 - 標準出力と標準エラー出力の両方をリダイレクト:
>&
オペレータまたは> file 2>&1
の形式を使用します。例えば、command > output.log 2>&1
は、command
の正常な出力とエラーメッセージの両方をoutput.log
にリダイレクトします。
Nginxのバージョンに加えて、コンパイル時のオプション情報も表示する
|
|
このコマンドは、Nginxがどのようにコンパイルされたか(使用されたコンフィグレーションオプションを含む)についての詳細情報を提供します。
実行結果:
|
|
こちらはあまり使う事もないと思いますが、下記の用途で使用されることがあります。
トラブルシューティング
Nginxの挙動に予期せぬ問題が発生した場合、問題の原因を特定するのに役立つコンパイル時の設定を確認できます。
例えば、特定のモジュールが有効になっているかどうか、または特定のパフォーマンス関連のオプションが使用されているかどうかを確認できます。
セキュリティ設定の確認
Nginxをセキュアに設定するためには、SSL/TLSの設定やセキュリティ関連のモジュールが適切に有効化されている必要があります。
これらのセキュリティ関連のオプションがコンパイル時にどのように設定されたかを確認できます。
パフォーマンスチューニング
Nginxのパフォーマンスを最適化するには、ファイルの非同期I/O、スレッドの使用、キャッシュの設定など、多くのコンパイル時オプションを調整することが重要です。
これらのパフォーマンス関連の設定がどのように構成されているかを理解するのに役立ちます。
環境の再現
新しいサーバーをセットアップする際や、既存の環境を別の場所に移行する際に、元の環境と同じ設定でNginxをコンパイルする必要があります。
元の環境でのコンパイルオプションを確認し、新しい環境で同じオプションを使用してNginxをコンパイルできます。
ドキュメント作成とレポーティング
システムのドキュメントを作成する際や、サポートリクエストを送る際に、Nginxの正確なバージョン情報とコンパイルオプションを提供することが求められることがあります。
この情報を簡単に収集する手段を提供します。
ブラウザでNginxのバージョンを確認する方法
Nginxの設定によってはブラウザでもバージョンが確認できます。
ChromeでNginxのバージョンを確認する方法
1.開発者ツールを起動
開発者ツールを開くには、いくつかの方法があります。
- キーボードショートカット: Windowsでは
Ctrl + Shift + I
を、MacではCmd + Option + I
を押します。 - メニューから開く: Chromeメニュー(右上の三点リーダー)→ その他のツール → 開発者ツール、を選択します。
- ページ上で右クリック → 「検証」を選択します。
2.Networkタブに移動
開発者ツールが開いたら、「Network」タブをクリックします。
このタブが見当たらない場合は、タブバーを左右にスクロールするか、»アイコンをクリックして表示されるメニューから選択できます。
3.ページのリロード
Networkタブが開いている状態で、ページをリロードします(F5キーを押すか、ブラウザのリロードボタンをクリック)。
これにより、ページの読み込みに関連するすべてのネットワークリクエストがNetworkタブに記録されます。
4.リクエストを選択
ページのリロード後、Networkタブに表示されるリクエストの一覧から、確認したいリクエストをクリックします。
多くの場合、ページ自体に関連するリクエストはリストの最初にあり、ドメイン名がページのURLと一致しています。
5.ヘッダーを確認
リクエストを選択すると、右側に詳細パネルが表示されます。
このパネルの「Headers」セクションを見ると、リクエストヘッダーとレスポンスヘッダーが表示されます。
レスポンスヘッダーの中にServerヘッダーがあれば、そこにサーバーの種類やバージョンが記載されています。
EdgeでNginxのバージョンを確認する方法
1.開発者ツールを起動
開発者ツールを開くには、いくつかの方法があります。
- キーボードショートカット: WindowsではCtrl + Shift + Iを、MacではCmd + Option + Iを押します。
- メニューから開く: Edgeメニュー(右上の三点リーダー)→ その他のツール → 開発者ツール、を選択します。
- ページ上で右クリック → 「検証」または「Inspect」を選択します。
2.Networkタブに移動
開発者ツールが開いたら、「Network」タブをクリックします。
このタブが見当たらない場合は、タブバーを左右にスクロールするか、»アイコンをクリックして表示されるメニューから選択できます。
3.ページのリロード
Networkタブが開いている状態で、ページをリロードします(F5キーを押すか、ブラウザのリロードボタンをクリック)。
これにより、ページの読み込みに関連するすべてのネットワークリクエストがNetworkタブに記録されます。
4.リクエストを選択
ページのリロード後、Networkタブに表示されるリクエストの一覧から、確認したいリクエストをクリックします。
多くの場合、ページ自体に関連するリクエストはリストの最初にあり、ドメイン名がページのURLと一致しています。
5.ヘッダーを確認
リクエストを選択すると、右側に詳細パネルが表示されます。
このパネルの「Headers」セクションを見ると、リクエストヘッダーとレスポンスヘッダーが表示されます。
レスポンスヘッダーの中にServerヘッダーがあれば、そこにサーバーの種類やバージョンが記載されています。
ブラウザでNginxのバージョンを表示させたくない場合
前述した通りNginxの設定によってブラウザにバージョンが表示されてしまいますが、
こちらはnginx.conf
にserver_tokens Off;
を記述することによって非表示にできます。
具体的には下記14行目のように記述します。
|
|
nginxのデフォルトのファイルには、server_tokens
は記載されていないためOn
になってしまっています。(記載されていないとOn
になります。nginxのドキュメント
を参照の事)
本番環境で公開してもいいことはないので、基本的にOff
にしておきましょう。
server_tokens
をOff
にすると下記のように表示されます。
なぜserver_tokensはデフォルトでonに設定されているの?
Nginxがデフォルトでserver_tokensをonに設定している理由は、特に公式な説明はありませんが、一般的には以下のような理由が考えられます。
1.透明性
オープンソースプロジェクトとして、Nginxは使用しているバージョンを公開することで透明性を確保しようとしています。
これにより、開発者やシステム管理者は特定の機能や修正が適用されているかを簡単に確認できます。
2.デバッグとサポート
バージョン情報が公開されていると、トラブルシューティングやサポートが容易になります。
問題が発生した際に、どのバージョンのNginxが動作しているかを迅速に特定できるため、解決策を見つけやすくなります。
どちらも開発者のためのサポートが主な理由のようです。
セキュリティ上の観点からNginxのバージョンが公開されるのはよろしくないので、個人的にはデフォルトで非表示にしてもいい気はしてます。