无法到达哨兵日志服务器:违反协议发生了EOF



我在HTTPS模式下设置哨兵服务器时有麻烦。Raven (Sentry客户端)不时地将这个错误消息写入日志文件中,这似乎是随机的。

Unable to reach Sentry log server: <urlopen error [Errno 8] _ssl.c:504: EOF occurred in violation of protocol> (url: https://$(valid_server)/)

Web UI工作正常。绝大多数来自Raven的信息都被很好地接收,Sentry将它们处理成可用的输出。然而,由于这些错误,有时会丢失一些东西。

我试着弄清楚这个问题,但是死胡同似乎接踵而至。基本上看起来很像这样:

Python Requests .exceptions. sslerror: [Errno 8] _ssl.c:504: EOF occurred in violation of protocol

但是,当使用TLS 1.2使用类似的s_client查询测试我的Sentry服务器时,它会导致一个有效的会话,这与上面的示例不同。

这也不是关于这个,因为SNI没有使用:

python-requests 2.0.0 - [Errno 8] _ssl.c:504: EOF发生违反协议

我无法连贯地重现错误。Raven的测试通过了,没有什么严重的错误,直到日志中弹出一个错误。

我的设置是:Raven 4.2.1在Python 2.7.5, Nginx 1.6.0作为反向代理处理HTTPS,最后是Sentry 6.4.4与默认的Gunicorn 0.17.4。Nginx的配置与官方文档(http://sentry.readthedocs.org/en/latest/quickstart/nginx.html)非常相似,只是由于HTTPS做了一些修改。

我遇到了同样的问题,并通过安装以下依赖项来修复它:

在Ubuntu:

sudo aptitude install libffi-dev

然后通过pip:

pip install pyopenssl ndg-httpsclient pyasn1

问题似乎是Python 2。X不支持开箱即用的SNI (TLS需要SNI),如下所述。

相关内容

  • 没有找到相关文章

最新更新