Настройка внешнего доступа к API
В предыдущей статье был рассмотрен запуск сервера и доступ к нему. Одно НО, доступ этот осуществляется или с локального ПК (в main.py), как вы видели присутствует строчка:
uvicorn.run(app, host="127.0.0.1", port=8000, log_level="info")
Если host поменять например на 0.0.0.0, сервер «из вне» будет конечно доступен, но по нестандартному порту и не по защищенному протоколу. Однако есть способ «завернуть» весь трафик в https через проксирование в apache/ngnix.
Для apache необходимо установить модуль proxy:
sudo a2enmod proxy proxy_http
sudo service apache2 restart
И в настройки VirtualHost сайта добавить:
ProxyPass / http://127.0.0.1:8000
ProxyPassReverse / http://127.0.0.1:8000
Для ngnix к сожалению не могу дать примера, т.к. обычно не использую.