Как определить Forwarded-Allow-IPS для сервера uvicorn из сети докеров

Я использую Traefik в качестве прокси, а также реагирую на frotend и fastAPI в качестве бэкэнда. Мой бэкэнд опубликован. Проблема в том, что сервер unvicorn перенаправляет вас с косой черты без косой черты на URL с косой чертой https://api.mydomain.com/posts - ›http://api.mydomain.com/posts/, но это не работает для ssl. Итак, я получаю ошибки в интерфейсе относительно CORS и смешивания контента. На основе этой темы перенаправление FastAPI для конечной косой черты возвращает ссылку, отличную от ssl. Я добавил --forwarded-allow-ips = * на сервер uvicorn, и теперь перенаправление ssl работает, но, насколько я понимаю, это небезопасно. Я попытался добавить --forwarded-allow-ips = mydomain.com, но это не сработало, я понятия не имею, почему, поскольку mydomain.com является IP-адресом сервера, а затем IP-адрес моего прокси. Я предполагаю, что это потому, что мой api получает IP-адрес прокси из сети докеров, не знаю, как это решить.


person Petr Schukin    schedule 18.03.2021    source источник
comment
Ух ты, долго без ответов. У меня аналогичная ситуация, но я использую веб-сервер nginx в контейнере докеров и веб-приложение в другом контейнере.   -  person Antonio    schedule 25.04.2021
comment
Я исправил проблему с использованием статического IP-адреса для контейнера traefik и добавил его в forwarded-allow-ips. Не уверен, что этот подход достаточно хорош   -  person Petr Schukin    schedule 27.04.2021
comment
Вау, я не знал ни одного проекта traefik. Смотрится потрясающе. Во всяком случае, я уверен, что это можно сделать с помощью NGINX и uvicorn   -  person Antonio    schedule 01.05.2021