25 votes

quelle est la différence entre proxy_request_buffering et proxy_buffering sur nginx ?

Je vois que proxy_request_buffering va mettre en mémoire tampon la demande et proxy_buffering la réponse.

Cependant, j'aimerais comprendre ce que cela signifie en interne.

24voto

bentek Points 2175

Depuis Nginx documention :

Proxy_Buffering

Syntax: proxy_buffering on | off;
Default:    
proxy_buffering on;
Context:    http, server, location
Enables or disables buffering of responses from the proxied server.

Lorsque la mise en mémoire tampon est activée, nginx reçoit une réponse du serveur mandataire dès que possible, en la sauvegardant dans les mémoires tampons définies par la directive taille_du_buffer_du_proxy y tampons_proxy des directives. Si l'ensemble de la réponse ne tient pas dans la mémoire, une partie peut être sauvegardée dans un fichier de type fichier temporaire sur le disque. L'écriture dans les fichiers temporaires est contrôlée par le paramètre proxy_max_temp_file_size y Taille de l'écriture du fichier temporaire du proxy des directives.

Lorsque la mise en mémoire tampon est désactivée, la réponse est transmise au client de manière synchrone, immédiatement après sa réception. nginx n'essaiera pas de lire l'intégralité de la réponse du serveur mandataire. La taille maximale des données que nginx peut recevoir du serveur à un moment donné est définie par l'attribut taille_du_buffer_du_proxy directive.

La mise en mémoire tampon peut également être activée ou désactivée en passant "yes" ou "no" dans le champ d'en-tête de réponse "X-Accel-Buffering". Cette fonctionnalité peut être désactivée en utilisant la commande proxy_ignore_headers directive.

Proxy_Request_Buffering

Syntax: proxy_request_buffering on | off;
Default:    
proxy_request_buffering on;
Context:    http, server, location
This directive appeared in version 1.7.11.
Enables or disables buffering of a client request body.

Lorsque la mise en mémoire tampon est activée, le corps entier de la requête est lire du client avant d'envoyer la demande à un serveur mandataire.

Lorsque la mise en mémoire tampon est désactivée, le corps de la requête est envoyé au serveur mandataire immédiatement après sa réception. Dans ce cas, la requête ne peut pas être transmise à l'option prochain serveur si nginx a déjà commencé à envoyer le corps de la requête.

Lorsque le codage de transfert par morceaux HTTP/1.1 est utilisé pour envoyer le corps de la requête originale, le corps de la requête sera mis en mémoire tampon quelle que soit la valeur de la directive, sauf si HTTP/1.1 est activé pour la procuration.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X