2

我正在尝试连接启用 SSL 的 Azure Postgres 实例。我的理解是,如果启用 SSL,我必须提供证书进行身份验证,但它允许我在不通过任何证书的情况下进行连接。

我正在使用以下命令:-

psql "host=ServerName.postgres.database.azure.com port=5432 dbname=postgres user=postgres@ServerName password=Password"

如果我们不通过 SSLmode,psql 首先尝试 SSL,但我的问题是它如何获得证书以启动与启用 SSL 的 Postgres 的连接。

4

1 回答 1

0

我不能谈论可能会修改的 Azure,但 PostgreSQL 默认允许您在没有客户端证书的情况下进行连接。在这种情况下,SSL 的目的不是对客户端进行身份验证,而是对通信进行加密以防止其被窃听。

请注意,使用默认设置,PostgreSQL 不会保护您免受中间人攻击。

如果您希望客户端验证服务器证书或希望服务器从客户端请求证书,您可以更改默认行为。

于 2020-09-29T06:41:16.630 回答