你好,我有一个应用程序,是使用Cherrypy服务器一个简单的网站。我不时地收到DECRYPTION_FAILED_OR_BAD_RECORD_MAC错误。在测试过程中,我从未见过任何问题,这在日志中是显而易见的。
[26/Nov/2021:02:50:39] ENGINE Error in HTTPServer.serve
Traceback (most recent call last):
File "/home/user/app/venv/lib/python3.8/site-packages/cheroot/server.py", line 1810, in serve
self._connections.run(self.expiration_interval)
File "/home/user/app/venv/lib/python3.8/site-packages/cheroot/connections.py", line 201, in run
self._run(expiration_interval)
File "/home/user/app/venv/lib/python3.8/site-packages/cheroot/connections.py", line 218, in _run
new_conn = self._from_server_socket(self.server.socket)
File "/home/user/app/venv/lib/python3.8/site-packages/cheroot/connections.py", line 272, in _from_server_socket
s, ssl_env = self.server.ssl_adapter.wrap(s)
File "/home/user/app/venv/lib/python3.8/site-packages/cheroot/ssl/builtin.py", line 277, in wrap
s = self.context.wrap_socket(
File "/usr/lib/python3.8/ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "/usr/lib/python3.8/ssl.py", line 1040, in _create
self.do_handshake()
File "/usr/lib/python3.8/ssl.py", line 1309, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:1131)Cherrypy是否有一种简单的方式将其记录为日志中的一行错误,还是有一种修复方法?
发布于 2022-05-09 06:28:53
我也遇到了同样的情况(以及SSLV3_ALERT_BAD_CERTIFICATE)。我的设置: CherryPy 18.5.0;Python3.7
我使用自签名的证书(我认为这是问题的关键信息)。
由于不受信任的证书,浏览器表明它不是一个正确的安全连接。用户需要单击“确认”,确认他们仍然想浏览网页。来自边缘或Chrome的访问尝试不会触发此CherryPy错误。Firefox似乎在确保请求进行之前就向服务器发送了一些东西(即在确认之前)。
CherryPy应该处理SSL错误(捕获异常)并让用户处理它们。
由于我无法控制用户的浏览器选择,也无法捕获SSL异常,我的“解决方案”是让用户安装自签名证书。从那时起,他们可以在没有警告的情况下浏览页面,日志中不再会出现这样的CherryPy错误。
我知道这是一个很弱的解决方案,但没有人回答,所以我想我会分享这个,因为它可能会对某人有帮助。
https://stackoverflow.com/questions/70141228
复制相似问题