Flask如何使用https?

1 安装python 的 openssl 的类库

pip install pyOpenSSL

2 在 Flask 的代码中可以直接使用,注意ssl_context的值必须是adhoc

from flask import Flask
app = Flask(__name__)
app.run('0.0.0.0', debug=True, port=5000, ssl_context='adhoc')

以上代码使用 pyOpenSSL 自带证书。 如果要使用自己配置的证书,可以自己配置一个,然后使用。

3 生成证书:

生成私钥(Generate a private key)
openssl genrsa -des3 -out server.key 1024

Generate a CSR
openssl req -new -key server.key -out server.csr

Remove Passphrase from key

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

产生自签名证书(Generate self signed certificate)

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

使用配置证书,证书路径自行修改

1 from flask import Flask    
2 app = Flask(__name__)    
3 app.run('0.0.0.0', debug=True, port=8100, ssl_context=('/Users/kracekumarramaraju/certificates/server.crt', '/Users/kracekumarramaraju/certificates/server.key')) 

自己生成的证书,浏览器都不承认的,需要购买一些证书,以获得主流浏览器的承认

参考:

创建个人CA证书 :http://blog.csdn.net/yannanxiu/article/details/70670225

http://blog.csdn.net/shenzhan168/article/details/47783651
http://kracekumar.com/post/54437887454/ssl-for-flask-local-development

http://flask.pocoo.org/snippets/111/

http://blog.chinaunix.net/uid-9793706-id-3566191.html

http://baike.baidu.com/view/5262561.htm

原文地址:https://www.cnblogs.com/shengulong/p/6829073.html