有时我从RDS PostgreSQL中捕获错误。
SQLSTATE [HY000]:常规错误:7 SSL错误:密钥长度无效
通常它工作正常,但有时错误。
会是什么呢?有任何想法吗?
更新2016-01-18
SQL请求无关紧要,我用不同的请求捕获错误,通常是原始的。我没有看到与SQL请求有任何关系。
我注意到,当SQL请求有延迟时会发生这种情况:
我无法理解,这只适用于AWS / RDS,或者有人在其他情况下捕获它?
更新2016-01-27
来自error / postgresql.log
日志:无法从客户端接收数据:由对等方重置连接
当我尝试再次执行查询时,我收到另一个错误:
SQLSTATE [HY000]:一般错误:7没有连接到服务器
重新连接没有帮助,我有同样的错误“没有连接到服务器”
该脚本在白天进行了50次尝试,最后脚本工作没有错误。
似乎与网络或连接相关的错误(PDO连接,PHP-FPM,PHP 5.6,SSL)
与Paypal相同的问题,我关闭了PostgreSQL连接池(内部网络)中的sslmode
sslmode=disable
dsn = 'pgsql:host=host.com;port=5432;dbname=postgres;sslmode=disable'
TLDR;
如果您使用OpenSSL或与其相关的任何内容以及PHP <7.1,关闭Postgres的SSL可能会解决您的问题。
非TLDR;
自定义框架,AWS VM上的Postgres 9.3和遗留PHP 5.3也存在同样的问题。
工作了3年没有任何问题然后突然一个简单的选择开始抛出此错误而没有对代码/配置进行任何相关更改。它不是我们拥有的最长查询(字符计数),并且它不是需要很长时间才能执行的查询。
虽然在Postgres qazxsw poi中关闭SSL,但在SAN中明确禁用它:qazxsw poi(请参阅@Gergo Bacskai回答)确实有帮助,错误没有返回。
因此,经过深入调查后,似乎是什么原因是这个错误:pg_hba.conf
我们在与第三方服务集成时已经开始使用sslmode=disable
,它可能使用https://bugs.php.net/bug.php?id=69524或其替代品,这就是我们开始接收这些错误的那一刻。