我正在运行一个使用SSL协议(来自Raspberry Pi和一个来自Gandi的签名证书。在
serwer使用配置中的ssl_module='builtin'。 但是由于浏览器在识别证书颁发者方面存在问题,我需要通过ssl_certificate_chain属性来提供中间证书,这只能通过使用ssl_module='pyopenssl'来实现。但这个配置不起作用。(请参阅错误消息)
ENGINE Error in 'start' listener <bound method Server.start of <cherrypy._cpserver.Server object at 0xe435b0>>
Traceback (most recent call last):
File "/usr/local/lib/python3.2/dist-packages/cherrypy/process/wspbus.py", line 205, in publish
output.append(listener(*args, **kwargs))
File "/usr/local/lib/python3.2/dist-packages/cherrypy/_cpserver.py", line 167, in start
self.httpserver, self.bind_addr = self.httpserver_from_self()
File "/usr/local/lib/python3.2/dist-packages/cherrypy/_cpserver.py", line 158, in httpserver_from_self
httpserver = _cpwsgi_server.CPWSGIServer(self)
File "/usr/local/lib/python3.2/dist-packages/cherrypy/_cpwsgi_server.py", line 60, in __init__
adapter_class = wsgiserver.get_ssl_adapter_class(ssl_module)
File "/usr/local/lib/python3.2/dist-packages/cherrypy/wsgiserver/wsgiserver3.py", line 1882, in get_ssl_adapter_class
adapter = ssl_adapters[name.lower()]
KeyError: 'pyopenssl'
[31/Jul/2015:16:04:18] ENGINE Shutting down due to error in start listener:
Traceback (most recent call last):
File "/usr/local/lib/python3.2/dist-packages/cherrypy/process/wspbus.py", line 243, in start
self.publish('start')
File "/usr/local/lib/python3.2/dist-packages/cherrypy/process/wspbus.py", line 223, in publish
raise exc
cherrypy.process.wspbus.ChannelFailures: KeyError('pyopenssl',)
安装了pyOpenSSL。 但当我做测试时:
'>>>import ssl
'>>>import socket
'>>>hasattr(socket, 'ssl')
False
在用pip-3.2安装libssldev后,我还试图重建Python3.2。但我没有成功,不得不恢复整个系统。在
谢谢你的帮助!在
至少有几个CherryPy版本} 。从Cheese Shop(即
ssl_builtin
supports ^{pip install CherryPy
)安装cherrypy3.7+,而不是从Debian packages安装。python3.2本身就是一个很好的更新候选(例如,许多库都是3.3+)。在还要看一下this answer,以了解当前CherryPy SSL问题。或者直接使用this section,因为CherryPy目前不支持python3的PyOpenSSL。在
相关问题 更多 >
编程相关推荐