带有ssl的appsettings.json中的ConnectionStrings?网络核心
Posted
技术标签:
【中文标题】带有ssl的appsettings.json中的ConnectionStrings?网络核心【英文标题】:ConnectionStrings in appsettings.json with ssl? Net Core 【发布时间】:2022-01-12 17:47:56 【问题描述】:如何将 api 连接到 azure mysql 数据库。
可能需要修改
"MySqlDbConnectionX": "Server = mydb.mysql.database.azure.com; Database = db; User Id = id; Password = password;"
为此
"MySqlDbConnectionX": Server = "mydb.mysql.database.azure.com"; UserID = "id"; Password = "your_password"; Database = "your_database"; SslMode = MySqlSslMode.Required; SslCa = "path_to_CA_cert"
我需要知道证书的路径,但我不知道把它放在哪里。
如果有人有例子,请发给我。
【问题讨论】:
请解释不一样的原因,以便我解决问题。 【参考方案1】:从您的描述中,我们可以清楚地知道您使用的是 Azure Database for Mysql。
默认情况下,Azure Database for MySQL 在服务器和客户端应用程序之间强制实施 SSL 连接,以防止 MITM(中间人)攻击。这样做是为了尽可能安全地连接到您的服务器。
从Shantanu's answer,我们可以清楚地知道我们不需要在连接字符串中添加SslMode = MySqlSslMode.Required; SslCa = "path_to_CA_cert"
。
我还阅读了一些关于Client Certificate and Key for Azure Database for MySQL 的描述。
使用托管的 Azure MySQL 实例时,无法在 MySQL 服务器上存储 CA 证书。
所以如果要启用 ssl,可以直接从 azure 门户复制并使用连接字符串。
【讨论】:
以上是关于带有ssl的appsettings.json中的ConnectionStrings?网络核心的主要内容,如果未能解决你的问题,请参考以下文章
用 appsettings.Production.json 中的设置覆盖 appsettings.json 中的数组设置
.NET Core 应用程序中的 appsettings.json 与 appsettings.Environment.json
(新格式)Visual Studio 项目中的可选 appsettings.local.json
如何读取 appSettings.json 中的字符串数组?