Как настаивать на https в доступном API - PullRequest
0 голосов
/ 11 ноября 2019

У меня Django Rest Framework работает по адресу: https://dev -example.domain.com в kubernetes за kubernetes Вход с отключенным трафиком http.

Обратите внимание, что это не NGINX и неTraefik. Это настройка контроллера Ingress на GCP. Эта концепция объясняется здесь

Поэтому попытка перейти к http://dev -example.domain.com возвращает 404. Справедливо.

Однако в API-интерфейсе Browsable все ссылки имеют префикс http :: // enter image description here

Поэтому при нажатии на одну из этих ссылок перенаправление возвращает 404.

Есть ли настройка, которая позволит этому префиксу быть https?

1 Ответ

0 голосов
/ 11 ноября 2019

Это означает, что django не знает, что ваш запрос был передан по HTTPS. Есть несколько методов, которые вы можете использовать, чтобы сказать, что вы используете HTTPS.

Например, Django будет уважать заголовок X-Forwarded-Proto, поэтому Nginx или все, что у вас есть, перед Django, отправьте это в ваше приложение.

т.е.

proxy_set_header X-Forwarded-Proto $scheme;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...