ホームページ >運用・保守 >Nginx >nginxの組み込み変数とは何ですか?

nginxの組み込み変数とは何ですか?

王林
王林転載
2023-05-26 16:16:063739ブラウズ

nginx 組み込み変数

組み込み変数は ngx_http_core_module モジュールに保存され、変数の命名方法は Apache サーバー変数と一致します。要約すると、これらの変数は、$http_user_agent、$http_cookie などのクライアント リクエスト ヘッダーの内容を表します。以下は、nginx でサポートされているすべての組み込み変数です:

$arg_name
リクエスト内のパラメータ名、つまり、「?」

$args の後の arg_name=arg_value 形式
リクエストのパラメータ値

$binary_remote_addr
クライアント アドレスのバイナリ形式、固定長は 4 バイトです

$body_bytes_sent
クライアント、応答ヘッダーはカウントされません。この変数は、Apache の mod_log_config モジュールの「%b」パラメータと互換性があります

$bytes_sent
クライアントに送信されたバイト数 (1.3.8、1.2.5) )

$connection
TCP 接続のシリアル番号 (1.3.8、1.2.5)

$connection_requests
TCP 接続の現在のリクエスト数 (1.3 .8、1.2.5)

$content_length
「content-length」リクエスト ヘッダー フィールド

$content_type
「content-type」リクエスト ヘッダー フィールド

$cookie_name
cookie 名

$document_root
現在のリクエストのドキュメント ルート ディレクトリまたはエイリアス

$document_uri
$uri

と同じ$host
優先度は次のとおりです: http リクエスト行のホスト名>「host」リクエスト ヘッダー フィールド>リクエストされたサーバー名と一致します

$hostname
ホスト名

$http_name
は、任意のリクエスト ヘッダー フィールドと一致します。変数名の後半「name」は、任意のリクエスト ヘッダー フィールドに置き換えることができます。たとえば、http リクエスト ヘッダーを取得する必要がある場合は、次のようになります。構成ファイルでは、「-」をアンダースコアに、大文字を小文字に置き換えます。形式は $http_accept_lang です。

$https
SSL セキュリティ モードが有効な場合、値は「on」になり、それ以外の場合は空の文字列になります。

$is_args
リクエストにパラメータがある場合、値は「?」になり、それ以外の場合は空の文字列になります。

$limit_rate
は、応答の速度制限を設定するために使用されます。詳細については、limit_rate を参照してください。

$msec
現在の UNIX タイムスタンプ (1.3.9、1.2.6)

$nginx_version
nginx バージョン

$pid
動作中の pidプロセスの

$pipe
リクエストがパイプ通信から来た場合、値は「p」、それ以外の場合は「.」です (1.3.12、1.2.7)

$proxy_protocol_addr
プロキシ アクセス サーバーのクライアント アドレスを取得します。直接アクセスの場合、値は空の文字列です。 (1.5.12)

$query_string
$args と同じ

$realpath_root
現在要求されているドキュメント ルートまたはエイリアスの実際のパス。すべてのシンボリック リンクが実際のリンクに変換されます。パス。

$remote_addr
クライアント アドレス

$remote_port
クライアント ポート

$remote_user
http 基本認証サービスに使用されるユーザー名

$request
クライアントのリクエスト アドレスを表します

$request_body
クライアントのリクエスト本文
この変数は、proxy_pass、fastcgi_pass、uwsgi_pass、および渡された scgi_pass を介してリクエスト本文を渡すために location で使用できます。次のレベルのプロキシ サーバーに転送します。

$request_body_file
クライアントのリクエスト本文を一時ファイルに保存します。ファイル処理が完了したら、このファイルを削除する必要があります。この機能を有効にする必要がある場合は、client_body_in_file_only を設定する必要があります。セカンダリ ファイルをバックエンド プロキシ サーバーに渡す場合は、リクエスト本文を無効にする必要があります。つまり、proxy_pass_request_body をオフ、fastcgi_pass_request_body をオフ、uwsgi_pass_request_body をオフ、または scgi_pass_request_body をオフに設定します。

$request_completion
リクエストが成功した場合、値は「ok」となり、リクエストが不完全な場合、またはリクエストが範囲リクエストの最後の部分ではない場合は空になります。

$request_filename
root または alias コマンドと uri リクエストによって生成された、現在の接続リクエストのファイル パス。

$request_length
リクエストの長さ (リクエストされたアドレス、http リクエスト ヘッダー、およびリクエスト本文を含む) (1.3.12、1.2.7)

$request_method
http request メソッド (通常は「get」または「post」)

#$request_time

クライアントから読み取られた最初のバイトから始まるクライアント要求 (1.3.9、1.2.6) の処理に使用される時間。

$request_uri

この変数は、いくつかのクライアント リクエスト パラメータを含む元の URI と同じです。変更できません。URI を変更または書き換えるには、$uri を参照してください。ホスト名は含まれていません。たとえば、 : "/cnphp/test .php?arg=freemouse"。

$scheme

リクエストで使用される Web プロトコル、「http」または「https」

$sent_http_name

任意の http レスポンス ヘッダー フィールドを設定できます。変数名 "name" は、任意の応答ヘッダー フィールドに置き換えることができます。応答ヘッダーのコンテンツ長を設定する必要がある場合は、$sent_http_content_length 4096 のように、"-" をアンダースコアに置き換え、大文字を小文字に置き換えます。

$server_addr

サーバー側アドレスは、Linux システムカーネルへのアクセスを避けるために、事前に設定ファイルに IP アドレスを設定する必要があることに注意してください。

$server_name

サーバー名、www.cnphp.info

$server_port

サーバー ポート

$server_protocol

サーバーの http バージョン、通常は「http/1.0」または「http/1.1」

$status

http 応答コード (1.3.2、1.2.2)

$tcpinfo_rtt、$tcpinfo_rttvar、$tcpinfo_snd_cwnd、 $ tcpinfo_rcv_space

クライアントのTCP接続の詳細情報

$time_iso8601
ISO 8610 形式のサーバー時間 (1.3.12、1.2.7)

$time_local
サーバー時間 (ログ形式) (1.3.12、1.2.7)

$uri
リクエスト内の現在の URI (リクエスト パラメータがない場合、パラメータは $args にあります) は、ブラウザによって渡される $request_uri の値とは異なる場合があります。内部リダイレクトを経由する場合もあります。 、またはインデックスを使用 $uri に「/foo/bar.html」などのホスト名が含まれないようにコマンドが変更されます。

nginx 組み込みグローバル変数とその意味

名前 バージョン 説明 (変数リストは ngx_http_variables ファイルから取得されます)
$args 1.0.8 リクエスト内のパラメーター;
$binary_remote_addr 1.0.8 リモート アドレスのバイナリ表現
$body_bytes_sent 1.0。 8 Sent メッセージ本文のバイト数
$content_length 1.0.8 http リクエスト情報の "content-length";
$content_type 1.0.8 リクエスト情報の "content-type";
$document_root 1.0.8 現在のリクエストのルート パスの値を設定します;
$document_uri 1.0.8 $uri と同じです; /test1/test2/test.php
$host 1.0 など。 8 リクエスト情報の「host」、リクエストの場合 host 行がない場合は設定したサーバ名と同じ;
$hostname 1.0.8
$http_cookie 1.0.8 Cookie情報
$ http_post 1.0.8 参照アドレス
$http_user_agent 1.0.8 クライアント エージェント情報##$http_via 1.0.8 サーバーにアクセスするための最後の IP アドレス。
$http_x_forwarded_for 1.0.8 ネットワークアクセスパスに相当します。
$is_args 1.0.8
$limit_rate 1.0.8 接続速度の制限;
$nginx_version 1.0.8
$pid 1.0.8
$query_string 1.0.8 $args と同じ。
$realpath_rootダウン アウト ダウン アウト アウト アウト アウト アウト アウト アウト ウェイ ウェイ ウェイ アウト ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイ ウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイウェイアウトウェイウェイウェイアウト道は道を途中で出て、道は道を道を右に右の道を右に右の道を右に出て、アウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトオフオフオフダウン----および1.0.8クライアントのユーザー名、使用されている1.0.8クライアントのユーザー名へ認証用;
$request 1.0.8 ユーザーリクエスト
$request_body 1.0.8
$request_body_file 1.0.8 バックエンドに送信されるローカルファイルの名前
$request_completion 1.0.8
$request_filename 1.0.8 現在のリクエストされたファイルのパス名 ($request_filename など): d:\nginx/html/test1/test2/test.php
$request_method 1.0.8 リクエストされたメソッド (「get」、「post」など) 、etc.;
$ request_uri 1.0.8 http://localhost:88/test1/test2/test.php
$scheme などのパラメータを含むリクエストされた URI 1.0.8 使用されるプロトコル (例: http または https (rewrite^(. )$$scheme://example.com$1redirect;
$sent_http_cache_control 1.0.8
$sent_http_connection 1.0.8
$sent_http_content_length 1.0.8
$sent_http_content_type 1.0.8
$sent_http_keep_alive 1.0.8
$sent_http_last_modified 1.0.8
$sent_http_location 1.0.8
$sent_http_transfer_encoding 1.0.8
$server_addr 1.0.8 サーバーアドレス (listen を使用してサーバーを指定しない場合)アドレス、これを使用します この変数は、アドレスを取得するためのシステム コールを開始します (リソースの無駄が発生します);
$ Server_name 1.0.8 リクエストのサーバー名が必要です; .8 リクエストされたプロトコル バージョン、「http/1.0」 " または "http/1.1";
$uri 1.0.8 要求された URI は、リダイレクト後など、元の値と異なる可能性があります。

以上がnginxの組み込み変数とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。