Nginx en amont envoyé trop grand en-tête lors de la lecture de la réponse de l'en-tête de l'amont
J'obtiens le message d'erreur comme ceci:
[error] 27544#0: *47335682 upstream sent too big header while reading response
header from upstream, client: 88.88.88.88, server: example..com,
request: "POST /tool/HTTP/1.1", upstream: "http://88.88.88.88:7080/tool/",
host: "example.com"
Quant à cette question, il est possible d'augmenter la taille de la mémoire tampon de nginx fichier conf comme ceci: en amont envoyé trop grand en-tête lors de la lecture de la réponse de l'en-tête de l'amont
http {
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
}
location
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
(Pour référence future, la taille par défaut pour fastcgi_buffer_size et fastcgi_buffers est 4k ou 8k, au sujet de la plate-forme)
Ce texte s'affiche dans le navigateur de l'utilisateur: Nginx 502 Bad Gateway
Je suis la planification d'augmenter temporairement la taille du tampon. Alors je peux me connecter quand les tampons sont trop gros. Est-il possible de trouver les en-têtes de ce qui est trop grand pour en amont ? apache_response_headers() et headers_list() ne me donne pas tous les en-têtes de réponse. Il ne m'a donné expire, cache-control et pragma-têtes.
Modification de proxy_buffer_size fait un problème de performance ?
(nginx version: nginx/1.6.0, php 5.4.42, xcache 3.2)
Que voulez-vous dire par votre question? Comment êtes-vous censé vérifier les en-têtes avec nginx? C'est un serveur web, pas un éditeur ou à une écoute du trafic de l'outil. Si vous voulez vérifier les en-têtes, je vous recommande d'utiliser tcpdump.
L'augmentation de taille de la mémoire tampon temporaire et la journalisation des grosses-têtes est également une option. Mais php headers_list ne marche pas donner ces données.
Nginx support personnalisable access_log par exemple: *log_format combiné '$remote_addr - $remote_user [$time_local] - $sent_http_set_cookie' *
J'ai besoin d'obtenir cette en-tête de données à l'intérieur de notre code php.
OriginalL'auteur trante | 2015-08-04
Vous devez vous connecter pour publier un commentaire.
Vous pouvez facilement trouver une réponse, mais ce qui fait vraiment une différence, c'est la seule option de configuration:
Néanmoins cette recommandation n'est probablement pas ce que vous voulez. Nous allons voir à travers les détails de pourquoi qui aide à résoudre le problème:
fastcgi_buffer:
fastcgi_buffer_size:
Il est donc uniquement fastcgi_buffer_size fait une différence parce que l'en-tête de réponse ne rentre pas dans le 4KO de mémoire tampon. La plupart du temps, il se produit en raison de gros biscuit de la taille. Il est donc fortement recommandé de laisser les paramètres est aussi, mais de réduire de biscuit de la taille de la place, et ont seulement une quantité minimale de données qui y sont stockées comme user_id, session_id, donc l'idée générale cookie de stockage est pour les non-sensible de l'IDs. Certains navigateurs ne pas traiter de grandes cookies.
Donc la solution serait:
En cas de difficultés à réduire de biscuit de la taille de désactiver la mise en mémoire tampon pour certaines emplacement:
J'ai eu ce problème avec ownCloud. Comment réduire le cookie de taille?
OriginalL'auteur Anatoly