【问题标题】:Django OperationalError: SSL SYSCALL error: EOF detectedDjango OperationalError:SSL SYSCALL 错误:检测到 EOF
【发布时间】:2019-11-09 15:03:03
【问题描述】:

我正在运行的应用程序使用 Django 1.10 作为 ORM 连接到 Postgres 数据库(由 AWS RDS 管理)。

有时,我会收到很多 OperationalError: SSL SYSCALL error: EOF detected 异常,然后一切都恢复正常,就像从未发生过一样.

我认为它与错误unexpected EOF on client connection with a open transaction有关,正如我在日志文件中看到的那样,但我不确定。

更多有用信息:

  • 这不是防火墙问题,因为我们只使用 AWS 安全组,它只能根据端口阻止事物。
  • 获取此异常的查询非常简单,通常需要几毫秒才能返回。
  • 在本集中,内存、cpu 和磁盘空间看起来和往常一样。
  • 我怀疑这不是表锁定问题,因为发生后一切都会恢复正常,我不能肯定地说,因为 Postgres 不会实时显示旧锁,而只会显示当前锁。

  • 我的Postgres引擎版本是9.6.8

  • 我们在数据库中看到很多idle 连接。有关系吗?

【问题讨论】:

标签: django postgresql rds postgresql-9.6


【解决方案1】:

这个错误很笼统,它只是表示“TLS 通信出现故障”。

我将列出一小部分潜在原因,但不保证完整性。

  • 可能是防火墙问题(您排除了该选项)。

  • 这可能是 TLS 密钥重新协商的问题。

    这会导致不同 OpenSSL 版本和客户端驱动程序出现各种问题,并在 PostgreSQL 9.5 中被放弃,因此只有在使用旧的且未打补丁的服务器版本时才会出现问题。

【讨论】:

  • 我应该在问题中提到它,但我的 PG Engine 版本是 9.6.8
猜你喜欢
  • 2018-11-15
  • 1970-01-01
  • 1970-01-01
  • 2013-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
相关资源
最近更新 更多