当前位置:   article > 正文

flask 与https_http_server = wsgiserver(('0.0.0.0', 5500), app)

http_server = wsgiserver(('0.0.0.0', 5500), app)

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

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

        

  1. from gevent.wsgi import WSGIServer
  2. from app import app
  3. keyfilename = None
  4. certfilename = None
  5. if servermode.mode==0:
  6. keyfilename = 'server.key.unsecure'
  7. certfilename = 'server.crt'
  8. else:
  9. keyfilename = os.path.join(config.m_config['sslfile'],'server.key.unsecure')
  10. certfilename = os.path.join(config.m_config['sslfile'],'server.crt')
  11. http_server = WSGIServer(('0.0.0.0', 5500), app,keyfile=keyfilename,certfile=certfilename)
  12. http_server.serve_forever()

         

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/439946
推荐阅读
相关标签
  

闽ICP备14008679号