You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac环境下.NET Core 6连接Docker中SQL Edge服务器遇证书验证问题

解决Mac上.NET Core 6连接Docker中SQL Edge的证书验证问题

问题分析

你遇到的错误核心是SQL Edge的自签名证书不被本地信任,同时连接字符串里的Trusted_Connection=True在Mac环境下完全不适用——这个参数是Windows集成认证的配置,而你用的是SA账号登录,根本不需要这个参数,反而会干扰连接逻辑。

解决方案

1. 修正连接字符串

修改appsettings.json中的连接字符串,移除无效的Trusted_Connection=True,添加TrustServerCertificate=True来跳过证书验证(仅适合开发环境),同时明确指定端口号:

"TheatreApiDb":"Server=localhost,1433;Database=Theatre;User=SA;Password=P@ssw0rd;TrustServerCertificate=True;"
  • TrustServerCertificate=True:告诉客户端信任SQL Server的自签名证书,直接解决握手时的证书拒绝问题。
  • 端口号1433:SQL Edge默认容器端口,如果你启动Docker时映射了其他端口(比如-p 1434:1433),要把连接字符串里的端口改成1434。

2. 确认Docker端口映射

确保启动SQL Edge容器时做了正确的端口映射,命令示例:

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=P@ssw0rd" -p 1433:1433 -d mcr.microsoft.com/azure-sql-edge

-p 1433:1433表示把容器的1433端口映射到主机的1433端口,没有这一步的话,本地无法通过localhost访问容器内的SQL Edge。

3. 生产环境注意事项

如果是生产部署,不要用TrustServerCertificate=True,应该将SQL Edge的证书导入到Mac的系统信任列表中,避免安全风险。

内容的提问来源于stack exchange,提问作者Amit Kumar Panda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 01:35:21