J'ai nginx configuré pour être mon serveur web visible de l'extérieur qui parle à un backend via HTTP.
Le scénario que je veux réaliser est:
- Le client fait une requête HTTP à nginx qui est redirigé vers la même URL mais via HTTPS
- demande de proxy nginx via HTTP au backend
- nginx reçoit la réponse du backend via HTTP.
- nginx le renvoie au client via HTTPS
Ma configuration actuelle (où le backend est configuré correctement) est:
serveur { écouter 80; nom_serveur localhost; emplacement ~. * { proxy_pass http: // backend; proxy_redirect http: // backend https: // $ host; proxy_set_header Host $ host; } }
Mon problème est que la réponse au client (étape 4) est envoyée via HTTP et non HTTPS. Des idées?
nginx
reverse-proxy
https
Mike
la source
la source
J'utilise la configuration suivante en production
la source
proxy_set_header X-Forwarded-Proto https;
fait l'affaire pour moi.la source