flask项目支持https

文章目录

1.flask-sslify安装与使用

python 复制代码
# pip install flask-sslify
from flask_sslify import SSLify
app = Flask(__name__)

#...其他代码...

if not app.debug:
    SSLify(app)
# 其中的app.debug代表的就是通过app.run设置的debug=True或False
class SSLPATH:
    CERTPATH = "/etc/pki/tls/server.crt"
    KEYPATH = "/etc/pki/tls/server.key"
if __name__ == '__main__'
	app.run(debug=False,host='0.0.0.0',port=9000,ssl_context=(SSLPATH.CERTPATH,SSLPATH.KEYPATH))

2.密钥使用

ssl_context 参数指定了 SSL/TLS 证书的路径和密钥文件的路径

复制代码
证书(Certificate):.cer(windows), .crt,  
私钥(Private Key):.key
证书签名请求(Certificate sign request):.csr


.cer 好像是二进制的证书。(Windows下)


至于pem和der,是编码方式,以上三类均可以使用这两种编码方式
pem - base64编码
der - 二进制编码


Windows IIS下的数字证书格式一般为.pfx
Java tomcat 下的数字证书格式一般为.jks或.store
Apache和nginx一般是.pem

在SSL中,公钥、私钥、证书(pem、crt、cer、key、csr)的后缀名分别是:

  • 公钥:.pem、.crt、.cer
  • 私钥:.key
  • 证书签名请求:.csr

其中,.pem是一种通用的证书格式,可以包含公钥、私钥、证书信息。而.crt和.cer是两种常见的证书格式,分别是DER和PEM格式,其中DER格式的证书可以被更多的应用程序识别和使用。.key是私钥文件的后缀名,.csr是证书签名请求文件的后缀名。

相关推荐
haosend30 分钟前
AI时代,传统网络运维人员的转型指南
python·数据网络·网络自动化
曲幽43 分钟前
不止于JWT:用FastAPI的Depends实现细粒度权限控制
python·fastapi·web·jwt·rbac·permission·depends·abac
IVEN_18 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang20 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮20 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling20 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮1 天前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽1 天前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
小时前端1 天前
HTTPS 页面加载 HTTP 脚本被拦?同源代理来救场
前端·https