Eu tenho o nginx configurado para ser meu servidor web visível externamente, que fala com um back-end por HTTP.
O cenário que quero alcançar é:
- O cliente faz uma solicitação HTTP para o nginx, que é redirecionado para a mesma URL, mas através de HTTPS
- solicitação de proxies nginx sobre HTTP para o back-end
- O nginx recebe resposta do back-end por HTTP.
- O nginx passa isso de volta ao cliente através de HTTPS
Minha configuração atual (onde o back-end está configurado corretamente) é:
servidor { ouça 80; server_name localhost; localização ~. * { proxy_pass http: // back-end; proxy_redirect http: // back-end https: // $ host; proxy_set_header Host $ host; } }
Meu problema é que a resposta ao cliente (etapa 4) é enviada por HTTP, não por HTTPS. Alguma ideia?
nginx
reverse-proxy
https
Mike
fonte
fonte
Estou usando a seguinte configuração na produção
fonte
proxy_set_header X-Forwarded-Proto https;
fez o truque para mim.fonte