Saya telah mengkonfigurasi nginx menjadi server web saya yang terlihat secara eksternal yang berbicara ke backend melalui HTTP.
Skenario yang ingin saya capai adalah:
- Klien membuat permintaan HTTP ke nginx yang dialihkan ke URL yang sama tetapi melalui HTTPS
- proksi nginx meminta melalui HTTP ke backend
- nginx menerima respons dari backend melalui HTTP.
- nginx meneruskan ini kembali ke klien melalui HTTPS
Konfigurasi saya saat ini (di mana backend dikonfigurasi dengan benar) adalah:
server { dengarkan 80; server_name localhost; lokasi ~. * { proxy_pass http: // backend; proxy_redirect http: // backend https: // $ host; proxy_set_header Host $ host; } }
Masalah saya adalah respons terhadap klien (langkah 4) dikirim melalui HTTP bukan HTTPS. Ada ide?
nginx
reverse-proxy
https
Mike
sumber
sumber
Saya menggunakan konfigurasi berikut dalam produksi
sumber
proxy_set_header X-Forwarded-Proto https;
melakukan trik untuk saya.sumber