Il semble que nginx ne supporte pas bien les requêtes groupées. Mais j'essaie d'obtenir une réponse plus définitive (et actuelle). J'ai un client faisant une demande SOAP à un serveur à partir d'un client Java qui définit l'en-tête Transfer-Encoding: chunked
. Tout fonctionne bien quand je me connecte directement à mon application sur Tomcat. Mais quand je mets nginx entre eux, alors les choses se cassent.Comment faire une requête en chunked via nginx
Pour ajouter quelques détails: Je travaille avec CloudFoundry. J'utilise Micro Cloud Foundry pour confirmer que les choses fonctionnent comme prévu en l'absence de nginx. Mais mon exigence est d'utiliser cloudfoundry.com, donc je n'ai pas la possibilité de contourner nginx là.
This question and answer dit que c'est peut-être ma seule solution de contournement: http://wiki.nginx.org/NginxHttpChunkinModule. Mais cette solution de contournement n'est pas disponible, car je ne peux pas modifier la configuration sur cloudfoundry.com.
This question ressemble également, mais il couvre en fait l'inverse de cette exigence. Il couvre les réponses fragmentées plutôt que les requêtes segmentées.
Alors, que diriez-vous des changements sur le client pour contourner ce problème? Est-il possible d'envoyer à la fois Transfer-Encoding: chunked
et Content-Length: 123
en tant qu'en-têtes? Cette zone est nouvelle pour moi, mais il semble que des projets comme Apache HttpComponents définissent la longueur ou la segmentation, mais pas les deux. Le point de découpage est que vous n'avez pas besoin de connaître la longueur lorsque la demande commence. Pourrais-je dire à mon client d'utiliser HTTP/1.0 et de bien jouer avec nginx sans découper? Y a-t-il d'autres idées de solutions de rechange que j'oublie?
Est-il possible d'envoyer à la fois Transfer-Encoding: chunked et Content-Length: 123 comme en-têtes? Est-ce commun? – mdahlman