我已经使用.netcore 2.1和google-cloud mysql实例创建了一个新网站。我为来自google-cloud的客户端证书创建了.pfx文件,可以从本地主机成功连接并运行我的网站,并可以使用.pfx文件连接到google-cloud mysql实例。当我将其发布到google-cloud flex时,我的网站可以运行,但是无法连接到mysql实例。我收到以下错误:
未处理的异常:MySql.Data.MySqlClient.MySqlException:无法连接到任何指定的MySQL主机。 ---> System.AggregateException:发生一个或多个错误。 (没有此类设备或地址)---> System.Net.Internals.SocketExceptionFactory + ExtendedSocketException:在System.Net.Dns.ResolveCallback(对象上下文)的System.Net.Dns.InternalGetHostByName(String hostName)处没有此类设备或地址。
如何在Flex环境中正确设置.pfx文件/和或ssl以使其正常工作?
Cloud支持人员指示我将0.0.0.0/0添加到我的连接中,并更新我的app.yaml以具有 beta_settings: cloud_sql_instances:“ response-amp-xxxxxxxx:us-central1:databaseinstancename = tcp:3306”
并将我的连接字符串主机名更新为我的数据库实例名称,这不能解决问题。
我验证了我的certs.pfx文件已复制到bin文件夹中,并使用日志验证了该文件存在并且我的连接字符串和app.yaml是正确的。
要使其正常工作,唯一的方法是取消对ssl证书的需要,并切换它以允许不安全的连接。
编辑: 这是我的连接字符串:Uid = xxxxuser; Pwd = secret; Host = 255.255.255.255; Database = mydb