
Tengo una configuración de Nginx que redirige 307 de http a https. Existen aplicaciones cliente que se conectan a http y envían datos mediante solicitudes POST. Los clientes son servicios .Net que utilizan HttpWebRequest. El solo uso de la redirección 301 da como resultado que los datos POST se eliminen de la solicitud.
Tengo la redirección 307 funcionando en mi entorno de prueba local, pero cuando se implementa en el servidor de producción, el mensaje de redirección se corrompe y los clientes generan una excepción.
Esta es la respuesta de trabajo que obtengo en mi entorno de prueba:
Y esto es lo que obtengo del entorno de producción.
Puedes ver cómo el paquete se ve diferente, ¿qué podría estar causando las diferentes respuestas? ¿La versión anterior de nginx?
Respuesta1
Las versiones de nginx anteriores a la 1.1.16 no admitían correctamente la devolución de respuestas 307.
El registro de cambios dice, en la parte relevante:
Changes with nginx 1.1.16 29 Feb 2012
*) Feature: the "return" and "error_page" directives can now be used to
return 307 redirections.
Te recomiendo que traigas tu servidor de producción (¡y tu de desarrollo!)A hoysi necesita esta funcionalidad. nginx 1.0.5 es muy antiguo en este momento.