Tengo nginx configurado para ser mi servidor web visible externamente que se comunica con un backend a través de HTTP.
El escenario que quiero lograr es:
- El cliente realiza una solicitud HTTP a nginx que se redirige a la misma URL pero a través de HTTPS
- Solicitud de proxies nginx sobre HTTP al backend
- nginx recibe respuesta del backend sobre HTTP.
- nginx pasa esto al cliente a través de HTTPS
Mi configuración actual (donde el backend está configurado correctamente) es:
servidor { escucha 80; nombre_servidor localhost; ubicación ~. * { proxy_pass http: // backend; proxy_redirect http: // backend https: // $ host; proxy_set_header Host $ host; } }
Mi problema es que la respuesta al cliente (paso 4) se envía a través de HTTP, no HTTPS. ¿Algunas ideas?
nginx
reverse-proxy
https
Micro
fuente
fuente
Estoy usando la siguiente configuración en producción
fuente
proxy_set_header X-Forwarded-Proto https;
hizo el truco para mí.fuente