SSL错误握手,与Sentry通信时出现意外的EOF

问题描述

我一直在将Sentry集成到Django应用程序中时遇到问题。当我在settings.py(使用现代风格的DSN导入并初始化)中配置的Sentry本地运行应用程序时,一切正常,并且所有错误均按预期出现在Sentry上。但是,在服务器上运行该应用程序时,遇到的错误很少会报告给Sentry,但确实会偶尔发生。查看应用程序正在运行的docker容器的日志,我可以看到以下预期出现的SSL错误有时会在Sentry上出现错误(尽管这种情况并不经常发生或说明该错误所引起的所有情况) (没有出现在Sentry上):

retrying (Retry(total=2,connect=None,read=None,redirect=None,status=None)) after connection broken by 'SSLError(SSLError("bad handshake: SysCallError(-1,'Unexpected EOF')",),)': /api/<hidden_sentry_id>/store/

这是我进行哨兵初始化的方式:

sentry_sdk.init(
    dsn="https://<hidden>@<hidden>.ingest.sentry.io/<hidden>",environment="dev",integrations=[DjangoIntegration()],traces_sample_rate=1.0,# If you wish to associate users to errors (assuming you are using
    # django.contrib.auth) you may enable sending PII data.
    send_default_pii=True
)

根据环境使用不同的settings.py文件。服务器上的配置中仅更改了“环境”值。

基于我在StackOverflow上发现的其他SSL意外EOF错误,我尝试使用pip将ndg-httpsclientpyopensslpyasn1安装到docker容器中,但这没有帮助。

有人对如何解决此问题有任何建议吗?

编辑: 还要注意的另一件有趣的事情是,导致错误有时会推送经过追溯且似乎已丢失的旧错误,即使新错误本身并未出现(例如,一系列错误和哨兵突然开始显示一些错误,时间戳记距42分钟前还不到)。虽然不是1:1,所以导致10个错误导致少于10个旧错误出现-实际上,我只是做了10个和1个旧错误出现。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)