flask 与https

来源:互联网 发布:淘宝宝贝id怎么查 编辑:程序博客网 时间:2024/06/02 06:11

         https相比于http更加安全,那么用flask写出来的web程序如何支持https呢?可以非常肯定的讲,flask本身只是一个网络框架,因此,仅在flask上做手术是不能美容出一个可以支持https的web程序的。通常,flask在部署时,会用到nginx或者apache,这类服务器则是可以通过配置ssl文件,来让flask写出来的web程序支持https的,但我今天要介绍的,则是更简单的方法。

         gevent网络库,可以作为flask的wsgi容器,其性能,我没有测试验证过,但感觉还不错,gevent是支持ssl的。

        

from gevent.wsgi import WSGIServerfrom app import appkeyfilename = Nonecertfilename = Noneif servermode.mode==0:    keyfilename = 'server.key.unsecure'    certfilename = 'server.crt'else:    keyfilename = os.path.join(config.m_config['sslfile'],'server.key.unsecure')    certfilename = os.path.join(config.m_config['sslfile'],'server.crt')http_server = WSGIServer(('0.0.0.0', 5500), app,keyfile=keyfilename,certfile=certfilename)http_server.serve_forever()

         

    如果程序不需要在外网访问,只是内部使用,那么安全证书就完全可以自己来生成,需注意的是,生成key以后,每次启动时都需要填写个什么密码,这很讨厌,但有办法生成一个不需要填写密码的key文件,也就是这个server.key.unsecure,具体方法很简单,百度输入框输入 server.key.unsecure  自行搜索,答案很丰富。</span>

        通过上面的设置,你写的网站就可以通过https来访问了。代码是我从一个项目里直接摘抄过来的,没来得及修改,但不难看得懂。

0 0