Maison  >  Article  >  Opération et maintenance  >  Quels sont les éléments de configuration de la connexion réseau Nginx ?

Quels sont les éléments de configuration de la connexion réseau Nginx ?

coldplay.xixi
coldplay.xixioriginal
2020-06-29 16:55:103056parcourir

Les éléments de configuration de la connexion réseau Nginx sont : 1. Délai d'expiration pour la lecture des en-têtes HTTP ; 2. Délai d'expiration pour la lecture des corps des paquets HTTP ; 3. Délai d'expiration pour l'envoi des réponses ;

Quels sont les éléments de configuration de la connexion réseau Nginx ?

Les éléments de configuration de la connexion réseau Nginx sont :

1. Délai d'expiration pour la lecture des en-têtes HTTP

Syntaxe :

client_header_timeout time(默认单位:秒);

Par défaut :

client_header_timeout 60;

Bloc de configuration : http、server、location

Une fois que le client aura établi une connexion avec le serveur, il commencera à recevoir des en-têtes HTTP. process , si aucun octet du client n'est lu dans un intervalle de temps (délai d'expiration), il est considéré comme ayant expiré et une réponse 408 ("Demande expirée") est renvoyée au client.

Tutoriel recommandé : Tutoriel de démarrage rapide de Nginx

2. Délai d'expiration pour la lecture du corps du paquet HTTP

Syntaxe :

client_body_timeout time(默认单位:秒);

Par défaut :

client_body_timeout 60;

Bloc de configuration : http、server、location

Cet élément de configuration est similaire à client_header_timeout, sauf que ce délai d'attente n'est valable que lors de la lecture du corps du paquet HTTP.

3. Délai d'expiration pour l'envoi de la réponse

Syntaxe :

send_timeout time;

Par défaut :

send_timeout 60;

Bloc de configuration : http、server、location

This The timeout est le délai d'attente pour l'envoi d'une réponse, c'est-à-dire que le serveur Nginx envoie un paquet de données au client, mais le client ne reçoit jamais le paquet de données. Si une connexion dépasse le délai d'attente défini par send_timeout, Nginx fermera la connexion.

4. Réinitialiser l'option de connexion au délai d'expiration

Syntaxe :

reset_timeout_connection on | off;

Par défaut :

reset_timeout_connection off;

Bloc de configuration : http、server、location

Connexion après timeout, la connexion sera réinitialisée directement en envoyant un paquet RST au client. Une fois cette option activée, Nginx n'utilisera pas la négociation à quatre voies normale pour fermer la connexion TCP après un certain délai de connexion. Au lieu de cela, il enverra directement un paquet de réinitialisation RST à l'utilisateur. Il n'attendra plus le message. réponse de l'utilisateur et libérer directement le serveur Nginx concernant tous les caches utilisés par ce socket (comme les fenêtres coulissantes TCP). Par rapport à la méthode d'arrêt normale, cela permet au serveur d'éviter de générer de nombreuses connexions TCP dans les états FIN_WAIT_1, FIN_WAIT_2 et TIME_WAIT.

Notez que l'utilisation du package de réinitialisation RST pour fermer la connexion entraînera certains problèmes et ne sera pas activé par défaut.

5, lingering_close

Syntaxe :

lingering_close off | on | always;

Par défaut :

lingering_close on;

Bloc de configuration : http、server、location

Cette configuration contrôle Comment Nginx ferme les connexions utilisateur. signifie toujours que les données envoyées par tous les utilisateurs sur la connexion doivent être traitées sans condition avant de fermer la connexion utilisateur. off signifie que lors de la fermeture de la connexion, peu importe qu'il y ait des données prêtes de l'utilisateur sur la connexion. on est une valeur intermédiaire. Dans des circonstances normales, les données envoyées par les utilisateurs lors de la connexion seront traitées avant la fermeture de la connexion, sauf dans certains cas où l'entreprise détermine que les données ultérieures sont inutiles.

6, lingering_time

Syntaxe :

lingering_time time;

Par défaut :

lingering_time 30s;

Bloc de configuration : http、server、location

lingering_close est activé , cet élément de configuration est utile pour télécharger des fichiers volumineux. Comme mentionné ci-dessus, lorsque la longueur de contenu demandée par l'utilisateur est supérieure à la configuration max_client_body_size, le service Nginx enverra immédiatement une réponse 413 (entité de demande trop grande) à l'utilisateur. Cependant, de nombreux clients peuvent continuer à télécharger le corps HTTP quelle que soit la valeur de retour 413. À ce stade, une fois le paramètre persistant_time passé, Nginx fermera la connexion, que l'utilisateur soit toujours en train de télécharger.

7. lingering_timeout

Syntaxe :

lingering_timeout time;

Par défaut :

lingering_timeout 5s;

Bloc de configuration : http、server、location

lingering_close prend effet , avant de fermer la connexion, il détectera si des données envoyées par l'utilisateur atteignent le serveur. Si aucune donnée n'est lisible après persisting_timeout, la connexion sera fermée directement ; sinon, les données dans le tampon de connexion doivent être lues et supprimées. la connexion sera fermée.

8. Désactiver la fonction keepalive pour certains navigateurs

Syntaxe :

keepalive_disable [ msie6 | safari | none ]...

Par défaut :

keepalive_disable  msie6 safari

Bloc de configuration : http、server、location

La fonction keepalive dans les requêtes HTTP consiste à réutiliser une longue connexion HTTP pour plusieurs requêtes. Cette fonction est très utile pour améliorer les performances du serveur. Mais certains navigateurs, comme IE 6 et Safari, rencontrent des problèmes fonctionnels avec le traitement des requêtes POST utilisant la fonction keepalive. Par conséquent, pour IE 6 et ses versions antérieures, la fonction keepalive est désactivée par défaut dans le navigateur Safari.

8. keepaliveTimeout

Syntaxe :

keepalive_timeout time(默认单位:秒);

Par défaut :

keepalive_timeout 75;

Bloc de configuration : http、server、location

a Après une connexion keepalive est inactive depuis un certain temps (la valeur par défaut est de 75 secondes), le serveur et le navigateur fermeront la connexion. Bien entendu, l'élément de configuration keepalive_timeout est utilisé pour contraindre le serveur Nginx. Nginx transmettra également ce temps au navigateur selon les spécifications, mais chaque navigateur peut avoir des stratégies différentes pour traiter les keepalives.

10. Le nombre maximum de requêtes pouvant être effectuées sur une keepalive connexion longue

Syntaxe :

keepalive_requests n;

Par défaut :

keepalive_requests 100;

配置块:http、server、location

一个keepalive连接上默认最多只能发送100个请求。

11、 tcp_nodelay

语法:

tcp_nodelay on | off;

默认:

tcp_nodelay on;

配置块:http、server、location

确定对keepalive连接是否使用TCP_NODELAY选项。

<span style="font-family:Microsoft Yahei, Hiragino Sans GB, Helvetica, Helvetica Neue, 微软雅黑, Tahoma, Arial, sans-serif">12、</span>tcp_nopush

语法:

tcp_nopush on | off;

默认:

tcp_nopush off;

配置块:http、server、location

在打开sendfile选项时,确定是否开启FreeBSD系统上的TCP_NOPUSH或Linux系统上的TCP_CORK功能。打开tcp_nopush后,将会在发送响应时把整个响应包头放到一个TCP包中发送。

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:
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