2017-05-15 61 views
4

以下内容与Azure Documentation for their New MySQL service一起,看起来您可以使用其可信CA Cert很简单地设置SSL。使用CA文件从Azure数据库获取MySQL的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.comAZUREREGION.control.database.windows.net,但我觉得这可能不是我应该要做的。任何有关Azure Database for MySQL或PHP SSL连接知识的人的指导都会有所帮助!

----- ----- UPDATE

我以前曾接受低于Jason的响应。他的回答是不够的。如果您按照上面的错误操作,您最终会在MSFT决定更改数据库的基础DNS解析时遇到中断。

I ended up suffering an outage today because of this answer. I think you may need to answer my question more thoroughly. As I mentioned in my question, I felt like something was off by changing the "host" path to the region. About 20 minutes ago, your internal DNS service changed the underlying region record for "MYDATABASE.mysql.database.azure.com" to "cr2.MYREGION.control.database.windows.net" instead of "MYREGION.control.database.windows.net" without any warning. As such, I'm removing the accepted answer.

+0

你能连接到使用MySQL的CLI通过SSL服务器? – wchiquito

+0

是的,我可以通过SSL连接到MySQL实例通过mysql-cli。我但是,我认为杰森的答案解决了这个问题。 –

回答

3

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

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

杰森 Azure的数据库为MySQL团队

+0

因为这个答案,我今天终于遭受了停电。我想你可能需要更彻底地回答我的问题。正如我在我的问题中提到的那样,我觉得通过改变该地区的“主人”之路,东西已经失去了意义。大约20分钟前,您的内部DNS服务将“MYDATABASE.mysql.database.azure.com”的底层区域记录更改为“cr2.MYREGION.control.database.windows.net”,而不是 “MYREGION.control.database”。 windows.net“没有任何警告。因此,我正在删除接受的答案。 –