Azure证书无法加载至Linux App Service问题求助
Azure Linux App Service + Docker容器环境下ASP.NET应用加载自定义私有证书问题
我们基于Azure的Linux环境,使用Docker容器部署ASP.NET应用,已完成所有.NET相关配置,但遇到私有证书加载的问题。
我们的需求是:将在App Service > Certificates > "自带证书"中上传的带私钥的证书加载到应用内用于加密操作,且不使用额外的Key Vault服务。
Windows环境下已有成熟代码,可通过CurrentUser\My证书存储区按指纹加载证书,现在需要将这部分逻辑移植到Linux环境。
按照官方针对Linux环境的操作指引,步骤如下:
- 配置环境变量
WEBSITE_LOAD_CERTIFICATES为*或逗号分隔的指定证书指纹 - 从
/var/ssl/certs/目录加载{指纹}.der格式的证书文件 - 从
/var/ssl/private/目录加载{指纹}.p12格式的密钥文件
但实际操作后,上述目录及对应证书文件均不存在,我们已完成以下排查动作:
- 通过Kudu SSH登录容器检查目录路径,未找到目标目录和文件
- 在应用代码中通过
new DirectoryInfo("/var/ssl/certs").Exists验证,返回结果为false - 尝试过多种
WEBSITE_LOAD_CERTIFICATES配置方式:所有指纹逗号分隔、单个指纹、大小写格式切换、通配符*,均无法触发证书文件的复制 - 已确认上传的证书完全符合Azure私有证书约束条件:未损坏、密码有效、可正常导出
- 相同操作在Windows环境的App Service中可立即生效,证书能正常从证书存储区访问
内容的提问来源于stack exchange,提问作者MysticalFoxie
相关产品推荐
相关产品推荐

