Mam skonfigurowanego nginx, aby był moim zewnętrznie widocznym serwerem WWW, który komunikuje się z backendem przez HTTP.
Scenariusz, który chcę osiągnąć, to:
- Klient wysyła żądanie HTTP do nginx, które jest przekierowane na ten sam adres URL, ale przez HTTPS
- Prośby proxy nginx przez HTTP do backendu
- nginx otrzymuje odpowiedź z backendu przez HTTP.
- nginx przekazuje to z powrotem do klienta przez HTTPS
Moja bieżąca konfiguracja (gdzie backend jest poprawnie skonfigurowany) to:
serwer { słuchaj 80; nazwa_serwera localhost; lokalizacja ~. * { proxy_pass http: // backend; proxy_redirect http: // backend https: // $ host; proxy_set_header Host $ host; } }
Mój problem polega na tym, że odpowiedź na klienta (krok 4) jest wysyłana przez HTTP, a nie HTTPS. Jakieś pomysły?
nginx
reverse-proxy
https
Mikrofon
źródło
źródło
Używam następującej konfiguracji w produkcji
źródło
proxy_set_header X-Forwarded-Proto https;
sprawę.źródło