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是证书签名请求文件的后缀名。

相关推荐
likerhood1 小时前
java中`==`和`.equals()`区别
java·开发语言·python
qq_283720051 小时前
Python Celery + FastAPI + Vue 全栈异步任务实战
vue.js·python·fastapi
2401_885885042 小时前
营销推广短信接口集成:结合营销策略实现的API接口动态变量填充方案
前端·python
telllong2 小时前
Python异步编程从入门到不懵:asyncio实战踩坑7连发
开发语言·python
lulu12165440784 小时前
Claude Code Harness架构技术深度解析:生产级AI Agent工程化实践
java·人工智能·python·ai编程
lifewange5 小时前
https和http有什么区别
网络协议·http·https
7年前端辞职转AI6 小时前
Python 文件操作
python·编程语言
龙文浩_6 小时前
AI梯度下降与PyTorch张量操作技术指南
人工智能·pytorch·python·深度学习·神经网络·机器学习·自然语言处理
呱牛do it7 小时前
企业级绩效考核系统设计与实现:基于FastAPI + Vue3的全栈解决方案
python·fastapi
7年前端辞职转AI7 小时前
Python 容器数据类型
python·编程语言