仅在连接到网络时PostgreSQL连接错误

问题描述 投票:0回答:1

我在使用Npgsql库连接到PostgreSQL数据库的客户端上有一个.NET应用程序。客户端遇到的问题是,当尝试建立从客户端到数据库的连接时,数据库日志中会引发错误,并且应用程序会显示超时错误:

08006:无法从客户端接收数据:远程主机强行关闭了现有连接。

仅当计算机连接到网络时,才会发生这种情况。如果没有可用的网络,则一切正常。

计算机在Windows 7 32位系统上运行

PostgreSQl版本是10.5 32位

Npgsql版本3.1.10

使用端口5439上的客户端证书进行连接

在具有相同特征(相同的Windows版本,相同的RAM数量)的计算机上进行的任何其他测试均不会引发任何错误,并且无论是否具有网络连接都可以使用。

有什么建议吗?

非常感谢。

编辑:数据库和客户端都安装在同一台计算机上,并且Windows防火墙已启用并配置为允许5439通信。无论如何,如果禁用了防火墙,错误仍然存​​在。

更新:

[我在Windows事件查看器中注意到一些CAPI2错误,说明

已处理的证书链,但终止于受信任提供者不信任的根证书。

用于连接到数据库的证书是自签名的,并根据有效期为10年的安装时间创建。他们没有针对任何外部提供商或其他任何机构进行验证。

.net postgresql npgsql
1个回答
0
投票

最后找到错误的原因。由于缺少SHA2支持,Windows不信任证书。在Windows上安装了SHA2支持(KB4474419和KB4490628),并且一切都按原样工作。

© www.soinside.com 2019 - 2024. All rights reserved.