Recibo un estado 411 de nginx cuando intento hacer un PUT sin especificar la longitud del contenido. ¿Hay alguna forma de desactivar esto?
Podría intentar agregar esto a su consulta:
curl -i -X PUT -H 'Contenido-Longitud: 0' ' http://www.example.com/test '
Intente instalar HttpChunkinModule o actualice Nginx a 1.3.9+
Este módulo ya no es necesario para Nginx 1.3.9+ porque desde 1.3.9, el núcleo de Nginx ya tiene soporte incorporado para los cuerpos de solicitud fragmentados.
Las solicitudes PUT requieren Content-Length. No es Nginx, es HTTP el que hace este requisito. La solicitud PUT, como las solicitudes POST, necesariamente tiene un cuerpo de contenido. Ese cuerpo puede ser de longitud cero, pero si es así, debe decirlo explícitamente. Obviamente, no puede suponer que el contenido continúa hasta que se cierra la conexión (que es lo que implica un encabezado de longitud de contenido ausente), porque el servidor debe poder responder a la solicitud antes de que se cierre la conexión.
Pregunta antigua, pero desde que me topé con esto desde una búsqueda en la web:
NginX 1.3.9 y superior admite "Transfer-Encoding: fragmentado" fuera de la caja para POST y PUT.
Con la transferencia fragmentada, puede enviar archivos sin configurar primero la longitud del contenido.
fuente