
Eu tenho uma configuração Nginx que redireciona 307 de http para https. Existem aplicativos clientes existentes que se conectam a http e enviam dados por meio de solicitações POST. Os clientes são serviços .Net usando HttpWebRequest. Apenas usar o redirecionamento 301 resulta na eliminação dos dados POST da solicitação.
Tenho o redirecionamento 307 funcionando em meu ambiente de teste local, mas quando implantado no servidor de produção, a mensagem de redirecionamento está sendo corrompida e os clientes estão lançando uma exceção.
Esta é a resposta funcional que recebo em meu ambiente de teste:
E é isso que recebo do ambiente de produção
Você pode ver como o pacote parece diferente. O que poderia estar causando as diferentes respostas? A versão mais antiga do nginx?
Responder1
As versões do nginx anteriores a 1.1.16 não suportavam adequadamente o retorno de 307 respostas.
O log de alterações lê, na 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.
Eu recomendo que você traga seu servidor de produção (e de desenvolvimento!)atualizadose você precisar dessa funcionalidade. O nginx 1.0.5 é muito antigo neste momento.