>  기사  >  운영 및 유지보수  >  nginx의 내장 변수는 무엇입니까?

nginx의 내장 변수는 무엇입니까?

王林
王林앞으로
2023-05-26 16:16:063636검색

nginx 내장 변수

내장 변수는 ngx_http_core_module 모듈에 저장됩니다. 변수 이름 지정 방법은 Apache 서버 변수와 일치합니다. 요약하자면, 이러한 변수는 $http_user_agent, $http_cookie 등과 같은 클라이언트 요청 헤더의 내용을 나타냅니다. 다음은 nginx에서 지원하는 모든 내장 변수입니다.

$arg_name
요청의 매개변수 이름, 즉 "?" 뒤에 arg_name=arg_value 형식

$args
요청의 매개변수 값

$ Binary_remote_addr
Client 주소의 바이너리 형식, 고정 길이는 4바이트입니다

$body_bytes_sent
클라이언트에 전송된 바이트 수, 응답 헤더는 계산되지 않습니다. 이 변수는 mod_log_config의 "%b" 매개변수와 호환됩니다. Apache 모듈

$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
쿠키 이름

$document_root
현재 요청된 문서 루트 디렉터리 또는 별칭

$document_uri
은 $uri

$host
와 동일합니다. 우선 순위는 다음과 같습니다. http 요청 라인의 호스트 이름>"host" 요청 헤더 필드>요청

$hostname
Host name

$http_name
과 일치하는 서버 이름은 모든 요청 헤더 필드와 일치합니다. 변수 이름 "name"의 후반부는 임의의 요청 헤더 필드로 대체될 수 있습니다. 구성 파일에서 http 요청 헤더인 "accept-언어"를 가져와야 하는 경우 "-"를 밑줄로 바꾸고 대문자를 $http_accept_언어 형식의 소문자로 바꿉니다.

$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
현재 요청된 문서 루트 또는 별칭에 대한 실제 경로는 모든 기호 링크를 실제 경로로 변환합니다. HTTP 기본 인증 서비스

$ requpresents represents a $ request_body
클라이언트의 요청 본문

이 변수는이 변수 일 수 있습니다. Proxy_pass, fastcgi_pass, uwsgi_pass 및 scgi_pass를 통해 요청 본문을 다음 레벨 프록시 서버로 전달하기 위해 위치에 사용됩니다.


$request_body_file

클라이언트 요청 본문을 임시 파일에 저장합니다. 파일 처리가 완료된 후에는 이 파일을 삭제해야 합니다. 이 기능을 활성화해야 하는 경우 client_body_in_file_only를 설정해야 합니다. 보조 파일을 백엔드 프록시 서버에 전달하는 경우 요청 본문을 비활성화해야 합니다. 즉, proxy_pass_request_body off, fastcgi_pass_request_body off, uwsgi_pass_request_body off 또는 scgi_pass_request_body off를 설정해야 합니다.


$request_completion

요청이 성공하면 값은 "ok"이고, 요청이 완료되지 않았거나 요청이 범위 요청의 마지막 부분이 아닌 경우 값은 비어 있습니다.


$request_filename

root 또는 alias 명령과 uri 요청에 의해 생성된 현재 연결 요청의 파일 경로입니다.


$request_length
요청 길이(요청된 주소, http 요청 헤더 및 요청 본문 포함) (1.3.12, 1.2.7)

$request_method
http 요청 방법, 일반적으로 "get" 또는 "post"

$request_time
클라이언트 요청을 처리하는 데 사용되는 시간(1.3.9, 1.2.6)은 클라이언트에서 읽은 첫 번째 바이트부터 계산되기 시작합니다.

$request_uri
이 변수는 일부 클라이언트 요청 매개변수가 포함된 원본 URI와 동일하며 수정할 수 없습니다. URI를 변경하거나 다시 작성하려면 $uri를 참조하세요. 호스트 이름은 포함되지 않습니다. 예: "/cnphp/test .php?arg=freemouse ".

$scheme
요청에 사용된 웹 프로토콜 "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 내장 전역 변수와 그 의미

이름                                                                                                   _ _보낸 메시지 수 1.0.8 전송된 바이트
$ 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 요청의 "호스트" 정보, 요청에 호스트 라인이 없으면 설정된 서버 이름과 동일합니다.
$hostname 1.0.8
$http_cookie 1.0.8 쿠키 정보
$http_post 1.0.8
$http_referer 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
$que ry_string 1.0.8 $args와 동일;
$realpath_root 1.0.8
$remote_addr 1.0.8 클라이언트 주소;
$remote_port 1.0.8 클라이언트 포트 번호;
$remote_user 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" 등과 같은 요청 방법
$request_uri 1.0.8 http://localhost:88/test1/test2/test.php
$와 같은 매개변수가 있는 요청된 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 요청이 도착하는 서버 이름
$server_port 1.0.8 요청이 도착하는 서버 포트 번호
$server_protocol 1.0.8 요청된 버전, "http/1.0"또는" http/1.1";
$uri 1.0.8 요청된 uri는 리디렉션 후와 같이 원래 값과 다를 수 있습니다.

위 내용은 nginx의 내장 변수는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제