Nginxでは、変数$Host
と$http_Host
の違いは何ですか。
$Host
は Core モジュールの変数です。
$ホスト
この変数は、リクエストのヘッダーの行ホスト、またはホストヘッダーが使用できない場合にリクエストを処理するサーバーの名前と同じです。
この変数は、そのような場合、$ http_Hostとは異なる値を持つ場合があります。1)Host入力ヘッダーが存在しないか、空の値を持つ場合、$ Hostはserver_nameディレクティブの値に等しくなります。 2)Hostの値にポート番号が含まれる場合、$ Hostにはそのポート番号は含まれません。 0.8.17以降、$ Hostの値は常に小文字です。
$http_Host
も同じモジュールの変数ですが、一般的に$http_HEADER
( ref )として定義されているため、その名前の変数は見つかりません。
$ http_HEADER
小文字に変換され、「ダッシュ」が「アンダースコア」に変換された場合のHTTP要求ヘッダーHEADERの値。 $ http_user_agent、$ http_referer ...;
要約:
$http_Host
は常にHTTP_Host
要求ヘッダーと等しくなります。$Host
は$http_Host
と等しい、小文字でポート番号なし(存在する場合)、HTTP_Host
が存在しないか、空の値。その場合、$Host
は、要求を処理したサーバーのserver_name
ディレクティブの値と等しくなります。