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

Azure App Service中Azure Web App自定义客户端证书双向SSL认证配置问题

在Azure App Service中配置特定自定义客户端证书的双向SSL认证

可以直接在Azure App Service内实现仅接受特定自定义客户端证书的双向SSL认证,无需依赖API Management。以下是具体配置步骤:

1. 上传信任的CA证书到App Service

Azure App Service需要信任客户端证书的签发CA(根CA或中间CA),才能验证客户端证书的合法性:

  • 登录Azure门户,进入目标Web App的管理界面
  • 左侧导航栏选择TLS/SSL设置,切换到公钥证书(.cer) 标签页
  • 点击上传证书,选择你用来签发客户端证书的根CA或中间CA的.cer格式公钥文件完成上传
  • 上传完成后,记录该证书的指纹(Thumbprint),后续配置会用到

2. 配置应用设置强制验证客户端证书

通过应用设置让App Service仅接受信任CA签发的客户端证书:

  • 进入Web App的配置 > 应用程序设置
  • 添加以下两个应用设置:
    • WEBSITE_LOAD_CERTIFICATES:设置为刚才记录的CA证书指纹;如果需要信任多个CA,用逗号分隔多个指纹,也可设为*加载所有已上传的证书
    • WEBSITE_CLIENT_CERTIFICATE_AUTH_OVERRIDE:设置为RequireAndValidate,该配置会强制App Service验证客户端证书是否由信任的CA签发,而非仅要求提供证书

3. 应用内二次校验(可选但推荐)

为了进一步确保只有指定的客户端证书能访问,可在应用代码中添加校验逻辑,比如验证证书指纹、主体名称等:
以ASP.NET为例:

var clientCert = Request.ClientCertificate;
// 校验证书有效性及指定指纹
if (!clientCert.IsValid || !clientCert.Thumbprint.Equals("目标客户端证书指纹", StringComparison.OrdinalIgnoreCase))
{
    Response.StatusCode = StatusCodes.Status403Forbidden;
    return;
}
// 校验通过,继续处理请求

4. 验证配置效果

使用支持客户端证书的工具测试访问:

  • 使用curl命令测试(替换为你的证书文件和Web App地址):
    curl -v --cert ./your-client-cert.pem --key ./your-client-key.pem https://your-webapp-name.azurewebsites.net
    
  • 若使用非信任CA签发的证书访问,会收到403或400错误;使用信任证书则能正常访问

常见注意事项

  • 上传的CA证书必须是完整的签发链,否则可能导致验证失败
  • 若使用PFX格式证书上传,需确保证书包含私钥且密码正确
  • WEBSITE_CLIENT_CERTIFICATE_AUTH_OVERRIDE设置仅在App Service的Client certificate mode设为Required时生效

内容的提问来源于stack exchange,提问作者Tahami Rizwan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 19:12:22