连接 Postgres Db 时出错:服务器证书与主机名不匹配
Error When Connecting Postgres Db: Server Certificate Does Not Match Host Name
我在 Centos 8 VM 上安装了 Postgresql 13,试图了解如何使用 ssl 建立安全连接。虽然完成了大部分步骤并创建了服务器和客户端证书,但我无法通过 PgAdmin 使用 verify-full SSL 模式远程连接到我的数据库。它给出了这样的错误:
server certificate for "centosnew" does not match host name "192.168.1.153"
“centosnew”是数据库的主机名,192.168.1.153 是它的 IP 地址。但是,当我将 SSL 模式更改为 verify-ca 或 require 模式时,我可以连接 PgAdmin.Where 我做错了吗?
编辑:我客户的地址在 pg_hba.conf 看起来像这样:
hostssl all all 192.168.1.165/32 cert
谢谢
在您的服务器证书中,IP
列表似乎不包含 ip 192.168.1.153
。确保在创建服务器证书时已将 Ip 添加到它将侦听的位置。您可以使用此 link 粘贴您的证书以在此处解码。
检查证书列表中是否包含 IP
在您的 CommonName
中也添加 IP。
正如错误信息所说,服务器的证书是给“centosnew”的,它与你告诉它连接的主机名“192.168.1.153”不同。因此,就 SSL 证书而言,您连接到的服务器不是您要求的服务器。因为防止这是“验证完整”的全部要点,所以如果它让你这样做就很奇怪了。
因此,与其告诉它连接到主机“192.168.1.153”,不如告诉它连接到主机“centosnew”,并让 DNS 完成它的工作。
我通过将数据库服务器的名称添加到客户端计算机中的“hosts”文件来修复它。
我在 Centos 8 VM 上安装了 Postgresql 13,试图了解如何使用 ssl 建立安全连接。虽然完成了大部分步骤并创建了服务器和客户端证书,但我无法通过 PgAdmin 使用 verify-full SSL 模式远程连接到我的数据库。它给出了这样的错误:
server certificate for "centosnew" does not match host name "192.168.1.153"
“centosnew”是数据库的主机名,192.168.1.153 是它的 IP 地址。但是,当我将 SSL 模式更改为 verify-ca 或 require 模式时,我可以连接 PgAdmin.Where 我做错了吗?
编辑:我客户的地址在 pg_hba.conf 看起来像这样:
hostssl all all 192.168.1.165/32 cert
谢谢
在您的服务器证书中,IP
列表似乎不包含 ip 192.168.1.153
。确保在创建服务器证书时已将 Ip 添加到它将侦听的位置。您可以使用此 link 粘贴您的证书以在此处解码。
在您的 CommonName
中也添加 IP。
正如错误信息所说,服务器的证书是给“centosnew”的,它与你告诉它连接的主机名“192.168.1.153”不同。因此,就 SSL 证书而言,您连接到的服务器不是您要求的服务器。因为防止这是“验证完整”的全部要点,所以如果它让你这样做就很奇怪了。
因此,与其告诉它连接到主机“192.168.1.153”,不如告诉它连接到主机“centosnew”,并让 DNS 完成它的工作。
我通过将数据库服务器的名称添加到客户端计算机中的“hosts”文件来修复它。