Я настроил nginx, чтобы он был моим внешне видимым веб-сервером, который общается с бэкендом по HTTP.
Сценарий, которого я хочу достичь:
- Клиент делает HTTP-запрос к nginx, который перенаправляется на тот же URL, но через HTTPS
- запрос прокси nginx через HTTP к бэкэнду
- nginx получает ответ от бэкенда по HTTP.
- nginx передает это обратно клиенту через HTTPS
Моя текущая конфигурация (где сервер настроен правильно):
сервер { слушай 80; имя_сервера localhost; местоположение ~. * { proxy_pass http: // backend; proxy_redirect http: // backend https: // $ host; proxy_set_header Host $ host; } }
Моя проблема заключается в том, что ответ клиенту (шаг 4) отправляется по HTTP, а не по HTTPS. Любые идеи?
nginx
reverse-proxy
https
Майк
источник
источник
Я использую следующий конфиг в производстве
источник
proxy_set_header X-Forwarded-Proto https;
сделало трюк для меня.источник