Je viens d'essayer cela sur un serveur nginx que j'ai assis devant un backend Apache.
curl -H "Content-Encoding: gzip" --include -d @testfile.gz http://example.com/upload_file.php
curl ajouté automatiquement:
Expect: 100-continue
aux en-têtes de demande.
nginx a renvoyé un
HTTP/1.1 100 Continue
réponse et curl suivi par l'envoi des données compressées. nginx a renvoyé le tout à Apache, toujours compressé et toujours avec l'en- Content-Encoding:
tête intact.
Si je n'ai pas ajouté l'en- Content-Encoding: gzip
tête avec curl, je n'ai pas obtenu la réponse HTTP 100 mais tout le reste était le même.
Cela ne répond pas encore à votre question, mais cela implique que nginx ne gère pas cela par défaut ou ne décompresse pas le corps de la demande lorsqu'il est mandataire. Je suis intéressé par la réponse à celle-ci, je vais donc voir si je peux l'essayer sur un serveur nginx non mandataire un peu plus tard.
Vraisemblablement, vous pouvez résoudre le problème de bande passante en envoyant ces requêtes à un backend Apache avec mod_deflate, mais cela ignore la raison pour laquelle vous avez choisi nginx en premier lieu.
Je viens de trouver cet article: Comment faire décompresser Nginx une requête compressée
Ça a l'air bien, mais je ne l'ai pas encore essayé. J'espère que cela aide.
la source
J'ai trouvé de bonnes étapes sur l'océan numérique pour Ubuntu 14.04
C'est bon
la source