1

我们的开发运营团队已将我的家庭 IP 地址列入白名单,以便我可以连接到 Azure 上的 Postgres 数据库。因此,我能够连接到我们的 Azure 数据库。

今天我设置了一个虚拟机来运行 Docker。我正在为 RStudio 运行一个容器,这是一个应用程序,除其他外,它允许我使用 ODBC 连接到我们的数据库。

配置 odbcinst 和 odbc.ini 文件后,我相信这些配置正确,因为当我尝试连接时出现以下错误:

错误:nanodbc/nanodbc.cpp:983:00000:致命:需要 SSL 连接。请指定 SSL 选项并重试。

因此,我认为我的 odbc 设置是正确的,因为此错误表明我的连接设置很好,只是 Azure 不会在没有 SSL 的情况下允许它。

搜索该错误消息将我带到了这个 SO 帖子,并接受了以下答案:

默认情况下,Azure Database for PostgreSQL 在服务器和客户端应用程序之间强制实施 SSL 连接,以防止 MITM(中间人)攻击。这样做是为了尽可能安全地连接到您的服务器。

虽然不推荐,但如果您的客户端应用程序不支持 SSL 连接,您可以选择禁用要求 SSL 连接到您的服务器。请查看如何在 Azure 中为您的 Postgres 服务器配置 SSL 连接以获取更多详细信息。您可以从门户或使用 CLI 禁用要求 SSL 连接。请注意,Azure 不建议在连接到服务器时禁用要求 SSL 连接。

我的问题是,如果由于我的家庭 IP 被列入白名单并且仅使用带有 Dbeaver SQL 客户端的 Postgres 驱动程序,我已经能够连接到我的 VM 之外的数据库,那么我可以做些什么来从我的 VM 内进行连接吗?

我可以获取我的虚拟机 IP 地址,但我怀疑(不确定)是否将帽子发送给我们的开发人员以加入白名单是否可行?

这里有规定的行动方案吗?

4

1 回答 1

1

我将此参数添加到我的 .odbc.ini 文件并能够连接:

sslmode=require

Azure Postgres 文档中,此参数可能会根据上下文采用不同的排列

"例如 "ssl=true" 或 "sslmode=require" 或 "sslmode=required" 和其他变体"

于 2019-12-30T01:45:13.443 回答