Parece que nginx no admite bien las solicitudes fragmentadas. Pero estoy tratando de obtener una respuesta más definitiva (y actual). Tengo un cliente que realiza una solicitud SOAP a un servidor desde un cliente Java que establece el encabezado Transfer-Encoding: chunked
. Todo funciona bien cuando me conecto directamente a mi aplicación en Tomcat.Cómo hacer una solicitud fragmentada a través de nginx
Pero cuando pongo nginx entre ellos, entonces las cosas se rompen.
Para agregar algunos detalles: Estoy trabajando con CloudFoundry. Estoy usando Micro Cloud Foundry para confirmar que todo funciona como se espera en ausencia de nginx. Pero mi requisito es usar cloudfoundry.com, así que no tengo la capacidad de evitar nginx allí.
This question and answer dice que esta es quizás mi única solución: http://wiki.nginx.org/NginxHttpChunkinModule. Pero esa solución no está disponible, ya que no puedo modificar la configuración en cloudfoundry.com.
This question parece similar también, pero en realidad cubre el reverso de este requisito. Cubre las respuestas fragmentadas en lugar de las solicitudes fragmentadas.
Entonces, ¿qué hay de los cambios en el cliente para evitar esto? ¿Es posible enviar Transfer-Encoding: chunked
y Content-Length: 123
como encabezados? Esta área es nueva para mí, pero parece de proyectos como Apache HttpComponents que uno establecería la longitud o fragmentación pero no ambos. El punto de fragmentación es que no necesita saber la duración cuando comienza la solicitud. ¿Podría decirle a mi cliente que use HTTP/1.0 y juegue bien con nginx sin fragmentar? ¿Hay otras ideas alternativas que me estoy olvidando?
¿Es posible enviar codificación de transferencia: fragmentada y Content-Length: 123 como encabezados? ¿Es común? – mdahlman