zoukankan      html  css  js  c++  java
  • 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.
    
    

    示意图

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

    本文来自博客园,作者:403·Forbidden,转载请注明原文链接:https://www.cnblogs.com/lczmx/p/15787686.html

  • 相关阅读:
    雷林鹏分享:XML to HTML
    雷林鹏分享:XML DOM
    雷林鹏分享:XML 编码
    雷林鹏分享: XML CDATA
    雷林鹏分享:服务器上的 XML
    雷林鹏分享:XML 注意事项
    雷林鹏分享:现实生活中的 XML
    雷林鹏分享:XML 相关技术
    雷林鹏分享:XML
    Android 系统架构图
  • 原文地址:https://www.cnblogs.com/lczmx/p/15787686.html
Copyright © 2011-2022 走看看