Maison Opération et maintenance Nginx Quelles sont les variables intégrées de nginx ?

Quelles sont les variables intégrées de nginx ?

May 26, 2023 pm 04:16 PM
nginx

Variables intégrées nginx

Les variables intégrées sont stockées dans le module ngx_http_core_module La méthode de dénomination des variables est cohérente avec les variables du serveur Apache. En résumé, ces variables représentent le contenu des en-têtes de requête client, tels que $http_user_agent, $http_cookie, etc. Voici toutes les variables intégrées prises en charge par nginx :

$arg_name
Le nom du paramètre dans la requête, c'est-à-dire le formulaire arg_name=arg_value après "?"

# 🎜🎜# $args

Valeur du paramètre dans la requête

$binary_remote_addr

La forme binaire de l'adresse du client, la longueur fixe est de 4 octets

$ body_bytes_sent# 🎜🎜#Le nombre d'octets transmis au client, l'entête de réponse n'est pas compté ; cette variable est compatible avec le paramètre "%b" du module mod_log_config d'apache


$bytes_sent

Transmis à Le nombre d'octets du client (1.3.8, 1.2.5)


$connection

Le numéro de séquence de la connexion TCP (1.3.8, 1.2.5)#🎜 🎜#

$connection_requests
Le nombre actuel de requêtes de connexion TCP (1.3.8, 1.2.5)

$content_length
en-tête de requête "content-length" field

#🎜🎜 #$content_type

champ d'en-tête de requête "content-type"

$cookie_name

cookie name

$document_root# 🎜🎜#La racine du document de la requête en cours Répertoire ou alias


$document_uri

est la même que $uri


$host

La priorité est comme suit : nom d'hôte de la ligne de requête http > Champ d'en-tête de requête "host"> Correspond au nom du serveur demandé


$hostname

Host name


$http_name#🎜 🎜#correspond à n'importe quel champ d'en-tête de requête ; le suffixe dans le nom de la variable. La moitié du "nom" peut être remplacée par n'importe quel champ d'en-tête de requête. Par exemple, si vous avez besoin d'obtenir l'en-tête de requête http : "accepter-langue" dans la configuration. fichier, puis remplacez "-" par un trait de soulignement et les lettres majuscules par des minuscules, comme : $http_accept_lingual C'est tout.

$https
Si le mode de sécurité SSL est activé, la valeur est "on", sinon c'est une chaîne vide.

$is_args
S'il y a des paramètres dans la requête, la valeur est "?", sinon c'est une chaîne vide.

$limit_rate
est utilisé pour définir la limite de vitesse de la réponse, voir limit_rate pour plus de détails.

$msec
Horodatage Unix actuel (1.3.9, 1.2.6)

$nginx_version
nginx version

#🎜 🎜# $pid

Le pid du processus de travail

$pipe

Si la requête provient d'une communication pipe, la valeur est "p", sinon c'est "." 12, 1.2. 7)

$proxy_protocol_addr

Obtenez l'adresse client du serveur d'accès proxy. S'il s'agit d'un accès direct, la valeur est une chaîne vide. (1.5.12)

$query_string

Identique à $args

$realpath_root

Le chemin réel du répertoire racine ou de l'alias du document actuellement demandé sera be Tous les liens symboliques sont convertis en chemins réels.

$remote_addr

Adresse client

$remote_port

Port client

$remote_user

est utilisé L'utilisateur nom du service d'authentification de base http

$request

représente l'adresse de la demande du client

$request_body

Le corps de la demande du client
Cette variable Peut être utilisé localement pour transmettre le corps de la requête au serveur proxy de niveau suivant via proxy_pass, fastcgi_pass, uwsgi_pass et scgi_pass.

$request_body_file
Enregistrez le corps de la demande du client dans un fichier temporaire. Une fois le traitement du fichier terminé, ce fichier doit être supprimé. Si vous devez activer cette fonctionnalité, vous devez définir client_body_in_file_only. Si vous transmettez le fichier secondaire au serveur proxy principal, vous devez désactiver le corps de la requête, c'est-à-dire désactiver proxy_pass_request_body, désactiver fastcgi_pass_request_body, désactiver uwsgi_pass_request_body ou désactiver scgi_pass_request_body.

$request_completion
La valeur est "ok" si la requête est réussie, ou vide si la requête est incomplète ou si la requête n'est pas la dernière partie d'une requête de plage.

$request_filename

Le chemin du fichier de la demande de connexion actuelle, généré par la commande racine ou alias et la demande uri.

$request_length

La longueur de la requête (y compris l'adresse demandée, l'en-tête de la requête http et le corps de la requête) (1.3.12, 1.2.7)

$ request_method# 🎜🎜#méthode de requête http, généralement "get" ou "post"


$request_time

Le temps utilisé pour traiter les requêtes des clients (1.3.9, 1.2.6) ; Le timing commence sur le premier octet du client.


$request_uri

Cette variable est égale à l'uri d'origine contenant certains paramètres de requête client, elle ne peut pas être modifiée, veuillez consulter $uri pour changer ou réécrire l'uri, ne contient pas le nom d'hôte , par exemple : "/cnphp/test.php?arg=freemouse".


$scheme

Le protocole Web utilisé dans la requête, "http" ou "https"


$sent_http_name

Vous pouvez définir n'importe quel en-tête de réponse http champ ; variable La seconde moitié du nom "nom" peut être remplacée par n'importe quel champ d'en-tête de réponse. Si vous devez définir la longueur du contenu de l'en-tête de réponse, remplacez "-" par un trait de soulignement et les lettres majuscules par des lettres minuscules, telles que : $sent_http_content_length 4096.


$server_addr

Adresse côté serveur, il convient de noter que afin d'éviter d'accéder au noyau du système Linux, l'adresse IP doit être définie au préalable dans le fichier de configuration.


$server_name

Server name, www.cnphp.info


$server_port

Server port


$server_protocol#🎜 🎜#La version http du serveur, généralement "http/1.0" ou "http/1.1"

$status
code de réponse http (1.3.2, 1.2.2)#🎜🎜 #

$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, $tcpinfo_rcv_space

Informations spécifiques à la connexion TCP du client

$time_iso8601
Heure du serveur au format iso 8610 (1.3.12, 1.2.7)

$time_local
Heure du serveur (format journal) (1.3.12 , 1.2.7)

$uri
L'uri actuel dans la requête (sans paramètres de requête, les paramètres sont situés dans $args), peut être différent de la valeur de $request_uri passée par le navigateur, il peut Par redirection interne ou modification à l'aide de la directive index, $uri ne contient pas le nom d'hôte, tel que "/foo/bar.html".

Variables globales intégrées de Nginx et leurs significations

Name Version Description (La liste des variables provient du fichier ngx_http_variables)
$args 1.0.8 Paramètres dans la requête ;
$binary_remote_addr 1.0.8 Représentation binaire de l'adresse distante
$ body_bytes_sent 1.0 .8 Le nombre d'octets du corps du message envoyés
$content_length 1.0.8 "content-length" dans les informations de la demande http ;
$content_type 1.0.8 "content-type" dans les informations de la demande ;# 🎜 🎜#$document_root 1.0.8 Définit la valeur du chemin racine de la requête actuelle ;
$document_uri 1.0.8 Identique à $uri tel que /test1/test2/test.php
$host 1.0 ; . 8 requêtes Le "host" dans les informations, s'il n'y a pas de ligne host dans la requête, est égal au nom du serveur défini
$hostname 1.0.8 #$#$ Http_referr 1.0.8 Adresse de référence#🎜 🎜#$ http_user_agent 1.0.8 Informations sur le proxy client
$ http_via 1.0.8 adresse IP du dernier serveur d'accès.
$http_x_forwarded_for 1.0.8 Équivalent au chemin d'accès au réseau.
$is_args 1.0.8
$limit_rate 1.0.8 Limitation du débit de connexion ;
$nginx_version 1.0.8
$pid 1.0.8
$query_string 1.0. Numéro de port client ;
$remote_user 1.0.8 Nom d'utilisateur client, utilisé pour l'authentification
$request 1.0.8 Demande de l'utilisateur
$request_body 1.0.8 Le nom du fichier local envoyé au backend ;
$ request_completion 1.0.8
$request_filename 1.0.8 Le nom du chemin de fichier de la requête actuelle, tel que $request_filename : d:nginx/html/test1/test2/test.php
$ request_method 1.0.8 La méthode de requête, Par exemple, "get", "post", etc. 8 Le protocole utilisé, tel que http ou https, tel que rewrite^(.+)$$scheme://example.com$1 redirect;
$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
$ send_http_keep_alive 1.0.8 # 🎜🎜 # $ Send_http_last_modified 1.0.8 # 🎜🎜 # $ Send_http_location 1.0.8 # 🎜🎜 # $ Send_http_trans Fer_encoding 1.0.8 # 🎜🎜 # $ Server_addr 1.0.8 Adresse du serveur, si le serveur n'est pas spécifié en utilisant l'adresse d'écoute, l'utilisation de cette variable lancera un appel système pour obtenir l'adresse (entraînant un gaspillage de ressources)
$server_name 1.0.8 Le nom du serveur où arrive la requête ; .8 Le numéro de port du serveur où arrive la requête ;
$server_protocol 1.0.8 La version du protocole demandé, "http/1.0" ou "http/1.1"
$uri 1.0.8 L'uri demandé peut être différente de la valeur d'origine, par exemple après une réorientation, etc.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment démarrer Nginx dans Linux Comment démarrer Nginx dans Linux Apr 14, 2025 pm 12:51 PM

Étapes pour démarrer Nginx dans Linux: Vérifiez si Nginx est installé. Utilisez SystemCTL Start Nginx pour démarrer le service NGINX. Utilisez SystemCTL Activer Nginx pour activer le démarrage automatique de Nginx au démarrage du système. Utilisez SystemCTL Status Nginx pour vérifier que le démarrage est réussi. Visitez http: // localhost dans un navigateur Web pour afficher la page de bienvenue par défaut.

Comment démarrer le serveur Nginx Comment démarrer le serveur Nginx Apr 14, 2025 pm 12:27 PM

Le démarrage d'un serveur Nginx nécessite différentes étapes en fonction des différents systèmes d'exploitation: Système Linux / Unix: Installez le package NGINX (par exemple, en utilisant Apt-Get ou Yum). Utilisez SystemCTL pour démarrer un service NGINX (par exemple, sudo systemctl start nginx). Système Windows: téléchargez et installez les fichiers binaires Windows. Démarrer Nginx à l'aide de l'exécutable Nginx.exe (par exemple, nginx.exe -c conf \ nginx.conf). Peu importe le système d'exploitation que vous utilisez, vous pouvez accéder au serveur IP

Comment configurer Nginx dans Windows Comment configurer Nginx dans Windows Apr 14, 2025 pm 12:57 PM

Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Comment résoudre nginx403 Comment résoudre nginx403 Apr 14, 2025 am 10:33 AM

Comment corriger l'erreur interdite Nginx 403? Vérifier les autorisations de fichier ou de répertoire; 2. Vérifier le fichier .htaccess; 3. Vérifiez le fichier de configuration NGINX; 4. Redémarrer Nginx. D'autres causes possibles incluent les règles de pare-feu, les paramètres de Selinux ou les problèmes d'application.

Comment résoudre l'erreur Nginx403 Comment résoudre l'erreur Nginx403 Apr 14, 2025 pm 12:54 PM

Le serveur n'a pas l'autorisation d'accéder à la ressource demandée, ce qui donne une erreur NGINX 403. Les solutions incluent: vérifier les autorisations de fichiers. Vérifiez la configuration .htaccess. Vérifiez la configuration de Nginx. Configurez les autorisations Selinux. Vérifiez les règles du pare-feu. Dépanner d'autres causes telles que les problèmes de navigateur, les défaillances du serveur ou d'autres erreurs possibles.

Comment vérifier si Nginx est démarré? Comment vérifier si Nginx est démarré? Apr 14, 2025 pm 12:48 PM

Dans Linux, utilisez la commande suivante pour vérifier si Nginx est démarré: SystemCTL Status Nginx Juges Basé sur la sortie de la commande: si "Active: Active (Running)" s'affiche, Nginx est démarré. Si "Active: Inactive (Dead)" est affiché, Nginx est arrêté.

Comment résoudre le problème du domaine croisé nginx Comment résoudre le problème du domaine croisé nginx Apr 14, 2025 am 10:15 AM

Il existe deux façons de résoudre le problème du domaine transversal NGINX: modifiez les en-têtes de réponse transversale: ajoutez des directives pour autoriser les demandes de domaine croisé, spécifier des méthodes et des en-têtes autorisés et définir le temps du cache. Utilisez le module CORS: Activez les modules et configurez les règles CORS pour permettre des demandes, des méthodes, des en-têtes et du temps de cache.

See all articles