Azure Storage Classic是否支持TLS 1.2?
结论
Azure 经典存储账户本身原生支持 TLS 1.2 协议,你遇到的报错不是服务端不支持 TLS 1.2 导致的,问题根源出在客户端侧的配置或版本问题。
排查方向
- 客户端 SDK/工具版本校验
不同语言的 Azure 存储客户端、运维工具对 TLS 1.2 的支持有版本门槛:- .NET 存储 SDK 低于 8.0 版本默认不启用 TLS 1.2,低于 5.0 版本完全不支持 TLS 1.2
- PowerShell Azure 模块低于 5.0 版本、AzCopy 低于 7.3 版本均存在 TLS 1.2 适配问题
请先确认你所用的客户端版本满足 TLS 1.2 支持要求。
- 运行环境 TLS 配置校验
部分旧运行时默认不会主动使用 TLS 1.2 发起连接,哪怕客户端本身支持:- .NET Framework 4.5 及更早版本默认优先使用 TLS 1.0/1.1,需要在代码中手动指定协议版本,添加配置:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; - 其他语言/运行环境也需要检查进程级、系统级的出站 TLS 规则,确认没有强制限制 TLS 最高版本,且 TLS 1.2 已被加入出站允许列表。
- .NET Framework 4.5 及更早版本默认优先使用 TLS 1.0/1.1,需要在代码中手动指定协议版本,添加配置:
验证方法
你可以通过以下方式快速确认服务端 TLS 1.2 支持性:
使用 curl 命令强制指定 TLS 1.2 访问你的经典存储账户公开资源:
curl --tlsv1.2 --tls-max 1.2 <你的经典存储资源访问地址>
如果请求正常返回,即可完全排除服务端不支持 TLS 1.2 的可能性。
补充说明:微软在2018年就已完成全量 Azure 存储节点(包含经典存储)的 TLS 1.2 支持覆盖,默认兼容 TLS 1.0/1.1/1.2 三个版本,除非你手动对经典存储账户配置过最小 TLS 版本限制,否则服务端一定会接受 TLS 1.2 的连接请求。
内容的提问来源于stack exchange,提问作者Turbo
相关产品推荐
相关产品推荐

