Редирект uvicorn

В чём причина редиректа, который выполняет uvicorn для ресурса.

Если я отправляю запрос https://certificate-backend.stage.fless.pro/certificate/5f5127e27ea1d20d920abb7a/, тогда происходит серия редиректов.

Запрос

https://certificate-backend.stage.fless.pro/certificate/5f5127e27ea1d20d920abb7a/

content-length: 0
date: Sat, 05 Sep 2020 15:50:34 GMT
location: http://certificate-backend.stage.fless.pro/certificate/5f5127e27ea1d20d920abb7a
server: uvicorn
status: 307

Редирект 1 (status-code 302)

http://certificate-backend.stage.fless.pro/certificate/5f5127e27ea1d20d920abb7a

Content-Length: 5
Content-Type: text/plain; charset=utf-8
Date: Sat, 05 Sep 2020 15:50:34 GMT
Location: https://certificate-backend.stage.fless.pro:443/certificate/5f5127e27ea1d20d920abb7a

Редирект 2

https://certificate-backend.stage.fless.pro/certificate/5f5127e27ea1d20d920abb7a

content-length: 170
content-type: application/json
date: Sat, 05 Sep 2020 15:50:34 GMT
server: uvicorn
status: 200

Если запрос отправлять напрямую, тогда этого не происодит


Ответы (1 шт):

Автор решения: eri

Внутренний телепат подсказывает что не хватает хидера x-forwarded-proto в прокси, которая делает хттпс или бэк его не понимает.

/ в конце урл обрезает роутер бэкэнд сервера и делает редирект. uri собирается на основе хидеров или заколовков wsgi, asgi. Тут или бэкэнд не понимает что запрос проксирован или ssl-прокси не отдает хидер.

вот в этом месте starlette(движок http в fastapi) убирает слеш в конце запроса.

→ Ссылка