SSL SYSCALL 错误:检测到 EOF

Posted

技术标签:

【中文标题】SSL SYSCALL 错误:检测到 EOF【英文标题】:SSL SYSCALL error: EOF detected 【发布时间】:2014-12-20 07:44:54 【问题描述】:

在我更改红移节点之前,insert statement 和支持 redshift 的整个应用程序正在运行。 我刚刚将红移节点从 4 个更改为 2 个。 现在,通过CodeIgniter 连接我的Postgres 服务器时出现以下错误

Error Number:

SSL SYSCALL error: EOF detected

INSERT INTO "ci_sessions" ("session_id", "ip_address", "user_agent", "last_activity",    "user_data") VALUES ('8aa51cba3c035aac1c2a3f8e43651b6b', '182.237.148.0', 'Mozilla/5.0 (X11;  Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0', 1419056314, '')

Filename: libraries/Session.php

Line Number: 328

【问题讨论】:

那么什么是有效的?你期望什么输出?你的问题不清楚。 应用程序正在工作(或者你可以说这个特定的插入语句),它使用codeigniter php framework 连接到amazon-redshift 这个错误可能来自很多地方:postgresql、redshift、redshift 网络访问、redshift 证书、您的网络访问、服务器配置中的 SSL 配置、php 配置、您的代理配置,甚至缺少内存可能会导致某处出现异常。如果您希望我们为您提供帮助,您必须提供有关所有这些中介的更多详细信息。从 PHP 中使用的 SSL 库和服务器配置开始。 【参考方案1】:

我不知道 Amazon Redshift,但由于连接丢失,我很久以前确实遇到过这个错误,所以我在连接字符串中添加了 'tcpKeepAlive' 参数并且它可以工作:

jdbc:postgresql://myhost.dev/?tcpKeepAlive=true

【讨论】:

【参考方案2】:

来自 Amazon Redshift documentation:

当您提交调整集群大小的请求时,Amazon Redshift 会设置 集群的访问权限为只读。在 Amazon Redshift 之后 根据您的调整大小要求配置一个新集群,那里 当旧集群被删除并且您的 连接切换到新集群。当新的连接 完成后,集群的原始访问权限为 恢复。您可以使用 DescribeResize 来跟踪 调整大小请求。

您没有说遇到此问题的时间有多久,但根据亚马逊的说法,由于权限/连接问题,您无法暂时连接到您的集群。最终连接会恢复。

【讨论】:

感谢您与我们联系,但您认为连接最终会恢复是不正确的。因为我可以从CI App 以外的其他来源连接到redshift,只有重新启动服务器后问题才会解决。对于实时应用,不可能每次都重启服务器。 @SandipPingle 嗯,你检查过节点是否内存不足吗? 正如我所提到的,我可以从其他PHP 脚本以及槽Postgresql client 连接redshift。因此我不认为节点内存不足。

以上是关于SSL SYSCALL 错误:检测到 EOF的主要内容,如果未能解决你的问题,请参考以下文章

GET 请求在浏览器中工作,但在 curl 中给出错误 SSL_ERROR_SYSCALL

macOS上的自制软件:brew更新显示LibreSSL错误:SSL_ERROR_SYSCALL,错误编号54

Flutter upgrade升级SDK时报 SSL_ERROR_SYSCALL错误

Flutter upgrade升级SDK时报 SSL_ERROR_SYSCALL错误

Flutter upgrade升级SDK时报 SSL_ERROR_SYSCALL错误

git 使用代理出现 LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 错误