Редирект 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 шт):
Внутренний телепат подсказывает что не хватает хидера x-forwarded-proto в прокси, которая делает хттпс или бэк его не понимает.
/ в конце урл обрезает роутер бэкэнд сервера и делает редирект. uri собирается на основе хидеров или заколовков wsgi, asgi. Тут или бэкэнд не понимает что запрос проксирован или ssl-прокси не отдает хидер.
вот в этом месте starlette(движок http в fastapi) убирает слеш в конце запроса.