FastAPI启用HTTPS

前提: 你需要购买一个域名, 假如是国内的法服务器的话, 需要备案, 否则无法解析
当你买了域名后, 一般可以免费生成证书

下载证书#

由于我是在腾讯云购买的域名, 所以在腾讯云中下载证书.
地址: 我的证书
示意图
下载完后, 你得到了四个文件:
下载后的文件

上传到服务器#

使用scp或其他工具上传到项目的ssl目录, ssl目录用于专门放证书

我们一般要用到: xxx.top.keyxxx.yyy_bundle.crt这两个文件

  • xxx.top.key 是私钥文件
  • xxx.yyy_bundle.crt是证书文件

指定uvicorn使用证书的地址#

使用ssl_keyfile参数和ssl_certfile分别指定私钥和证书
假如使用命令行启动的话, 为--ssl-keyfile--ssl-certfile

uvicorn.run(app="project:app", host=host, port=port, reload=True,
ssl_keyfile="./ssl/xxx.top.key", ssl_certfile="./ssl/xxx.top_bundle.crt")

启动服务, 并访问#

我这里使用docker部署服务

Starting project_project_1 ... doneAttaching to project_project_1project_1 | INFO: Will watch for changes in these directories: ['/var/www/html/project']project_1 | INFO: Uvicorn running on https://0.0.0.0:9000 (Press CTRL+C to quit)project_1 | INFO: Started reloader process [1] using statreloadproject_1 | INFO: Started server process [8]project_1 | INFO: Waiting for application startup.project_1 | INFO: Application startup complete.

示意图

注意: 无法访问的话, 你需要确定是否开放端口

posted @   403·Forbidden  阅读(1616)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示
主题色彩