按照他们的新 MySQL 服务的 Azure 文档,您似乎可以使用他们的受信任的 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”,没有任何警告。因此,我正在删除已接受的答案。