【问题标题】:SSL Connections from Azure Database for MySQL using CA file使用 CA 文件从 Azure Database for MySQL 建立 SSL 连接
【发布时间】:2017-10-13 16:31:35
【问题描述】:

随着Azure Documentation for their New MySQL service,您似乎可以使用他们的受信任的 CA 证书非常简单地设置 SSL。

按照他们的步骤并根据他们的文档设置我的 PHP 连接字符串后,我收到以下错误:

Peer certificate CN=`AZUREREGION.control.database.windows.net' did not match expected CN=`MYDATABASE.mysql.database.azure.com' in testazure.php

我能够通过将连接字符串的主机名从 MYDATABASE.mysql.database.azure.com 更改为 AZUREREGION.control.database.windows.net 来“解决”这个问题,但我觉得这可能不是我应该做的事情。任何了解 Azure Database for MySQL 或 PHP 的 SSL 连接的人提供的任何指导都会有所帮助!

----- 更新 -----

我之前在下面接受了 Jason 的回复。他的回答是不够的。如果您按照我上面错误的做法进行操作,那么当 MSFT 决定更改您的数据库的基础 DNS 解析时,您最终会遇到中断。

由于这个答案,我今天最终遭受了中断。我想 您可能需要更彻底地回答我的问题。正如我在 我的问题,我觉得改变“主机”路径有点不对劲 到该地区。大约 20 分钟前,您的内部 DNS 服务发生了变化 “MYDATABASE.mysql.database.azure.com”的基础区域记录 到“cr2.MYREGION.control.database.windows.net”而不是 “MYREGION.control.database.windows.net”没有任何警告。因此, 我正在删除已接受的答案。

【问题讨论】:

  • 你能使用 MySQL CLI over SSL 连接到服务器吗?
  • 是的,我可以通过 mysql-cli 通过 SSL 连接到 MySQL 实例。我但是,我认为 Jason 在下面的回答解决了这个问题。

标签: php mysql database azure azure-database-mysql


【解决方案1】:

您的解决方法实际上是正确的。在我们启动服务时,我们更改了服务的 DNS 以更准确地反映您的服务器,但是我们需要适当地更新文档。

感谢您的报告 - 我们会更新文档!

杰森 Azure DB for MySQL 团队

【讨论】:

  • 由于这个答案,我今天最终遭遇了中断。我想你可能需要更彻底地回答我的问题。正如我在问题中提到的那样,通过更改该区域的“主机”路径,我感觉有些不对劲。大约 20 分钟前,您的内部 DNS 服务将“MYDATABASE.mysql.database.azure.com”的基础区域记录更改为“cr2.MYREGION.control.database.windows.net”而不是“MYREGION.control.database.windows” .net”,没有任何警告。因此,我将删除已接受的答案。