FastAPI启用HTTPS

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

下载证书

由于我是在腾讯云购买的域名, 所以在腾讯云中下载证书.

地址: 我的证书

FastAPI启用HTTPS
下载完后, 你得到了四个文件:
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部署服务

$docker-compose up
Starting project_project_1 ... done
Attaching to project_project_1
project_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 statreload
project_1  | INFO:     Started server process [8]
project_1  | INFO:     Waiting for application startup.

project_1  | INFO:     Application startup complete.

FastAPI启用HTTPS

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

Original: https://www.cnblogs.com/lczmx/p/15787686.html
Author: 403·Forbidden
Title: FastAPI启用HTTPS

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581339/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球