Quelles sont les variables intégrées de 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 "?"
Valeur du paramètre dans la requête
La forme binaire de l'adresse du client, la longueur fixe est de 4 octets
$bytes_sent
$connection
$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
champ d'en-tête de requête "content-type"
cookie name
$document_uri
$host
$hostname
$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
Le pid du processus de travail
Si la requête provient d'une communication pipe, la valeur est "p", sinon c'est "." 12, 1.2. 7)
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)
Identique à $args
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.
Adresse client
Port client
est utilisé L'utilisateur nom du service d'authentification de base http
représente l'adresse de la demande du client
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.
Le chemin du fichier de la demande de connexion actuelle, généré par la commande racine ou alias et la demande uri.
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_time
$request_uri
$scheme
$sent_http_name
$server_addr
$server_name
$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)#🎜🎜 #
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

É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.

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? 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 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 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.

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.

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é.

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.
