我想使用gunicorn
托管我的fastAPI
应用程序,并将其托管在Kubernetes服务上。我的Kubernetes服务使用HTTP
调用在指定端点上运行活动探测(运行状况检查)。
我还希望在HTTPS
上提供应用程序,因为我的Kubernetes服务将其公开以供外部组件使用。
现在我的HTTP端点不能依赖于重定向,因为活动探测器需要200 Response
,而重定向会妨碍它。
我希望在预先指定的端口上托管我的HTTPS端点,因为组织已采用最佳实践,并且已指定端点和端口。
StackOverflow上的一些类似问题:
- Running Gunicorn on both http and https
- uvicorn [fastapi] python run both HTTP and HTTPS
但是这两种服务器都可以使用重定向,而我们不能,而且我们也不能使用NGINX
服务器,因为在我的组织中,这种支持已经过时了。
2条答案
按热度按时间kqlmhetl1#
如果我们在Docker环境中尝试这个方法,下面的代码可以完成:
停靠文件:
shell 脚本www.example.comstart.sh:
&
在后台运行一个,然后运行另一个,你可以配置一个使用HTTP,一个使用HTTPS。我们将
gunicorn
用于fastAPI
应用程序,因此我们将使用uvicorn
工作线程,您需要根据您的使用情形对其进行相应更改。jc3wubiy2#
对于登陆此处寻求fastapi/uvicorn帮助的用户:
你应该知道,后台守护进程在
CTRL+C
上会无法关闭。最好使用tmux之类的东西,并在不同的窗口中运行:80
和:443
。