web.py设置SSL支持(HTTPS,解决错误 ModuleNotFoundError: No module named 'web.wsgiserver')
程序员文章站
2022-07-15 12:07:05
...
前言
今天,试图设置SSL支持,查看了其他博主的一些博客,找到的方法多半是这样的
from web.wsgiserver import CherryPyWSGIServer
CherryPyWSGIServer.ssl_certificate = '/usr/ssl/server.crt'
CherryPyWSGIServer.ssl_private_key = '/usr/ssl/server.key'
但是运行之后会报错ModuleNotFoundError: No module named 'web.wsgiserver')
错误原因
这个和webpy的版本有关哦!
查看了webpy的官方文档,终于找到了答案.
上面的方法针对的是0.37版本的webpy,我这个是前不久刚下的0.4版本。
查看webpy版本
>>> import web
>>> web.__version__
解决方法
官方文档这里也讲了,针对0.4版本的方法:
把这些代码写在app.run()前面哦
from cheroot.server import HTTPServer
from cheroot.ssl.builtin import BuiltinSSLAdapter
HTTPServer.ssl_adapter = BuiltinSSLAdapter(
certificate='cert/domain.crt',
private_key='cert/domain.key')
最后
最后写点没用的,吐槽一下这个官方文档,更新的不够啊,刚开始,我打开Cookbook,看到有简体中文哎,于是切换语言后,在下面找到SSL支持部分,结果出现的还是旧版本的解决方法,切换成中文才有完整的。所以啊,要注意多看英文的文档哦,要好好学习英语!!!
完成今天一大任务,开心哦!