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

Azure App Service健康检查:Header值与环境变量不匹配求助

问题排查与解决方案

针对你遇到的Azure App Service健康检查持续返回401的问题,以下是具体排查方向和修复步骤:

一、核心排查方向

1. 环境变量加载验证

WEBSITE_AUTH_ENCRYPTION_KEY 配置后,必须重启App Service实例才能生效。如果未重启,应用会继续使用旧值(或空值),导致哈希匹配失败。

  • 操作步骤:
    1. 进入App Service的“概述”页面,点击“重启”按钮强制重启所有实例。
    2. 在健康检查端点中添加日志,输出读取到的环境变量哈希值(避免泄露原始值),确认是否与你配置的一致:
      public Boolean HeaderMatchesEnvVar(string headerValue, ILogger logger) {
          var sha = SHA256.Create();
          string envVar = Environment.GetEnvironmentVariable("WEBSITE_AUTH_ENCRYPTION_KEY");
          if (string.IsNullOrEmpty(envVar)) {
              logger.LogError("WEBSITE_AUTH_ENCRYPTION_KEY 未加载");
              return false;
          }
          string hash = Convert.ToBase64String(sha.ComputeHash(Encoding.UTF8.GetBytes(envVar)));
          logger.LogInformation("计算出的哈希值: {Hash}", hash);
          logger.LogInformation("接收到的Header值: {Header}", headerValue);
          return hash == headerValue;
      }
      

2. 哈希计算一致性验证

Azure健康检查服务生成的x-ms-auth-internal-token,是对WEBSITE_AUTH_ENCRYPTION_KEY进行无BOM的UTF-8编码SHA256哈希,再Base64编码的结果。如果你的编码逻辑不一致,会导致匹配失败。

  • 验证方法:
    在本地用相同逻辑计算你配置的密钥哈希,与Postman中使用的有效Header值对比,确认计算逻辑是否正确。

3. 健康检查请求Header确认

检查健康检查服务是否真的发送了x-ms-auth-internal-tokenHeader:

  • 操作步骤:
    1. 开启App Service的“应用日志记录”,设置日志级别为“详细”。
    2. 查看健康检查请求的日志,确认x-ms-auth-internal-tokenHeader是否存在,以及其具体值。

4. 路由与端点有效性验证

确保健康检查路径配置与实际端点完全匹配:

  • 确认App Service健康检查设置中的“路径”为/api/healthcheck(注意开头的斜杠)。
  • 验证控制器路由是否正确:如果控制器上标注了[Route("api/healthcheck")],则方法上的[Route("")]是正确的;如果控制器无路由前缀,需将方法路由改为[Route("api/healthcheck")]。

5. 实例同步问题(横向扩展场景)

如果你的App Service使用了多实例部署,可能存在环境变量同步延迟,导致部分实例的WEBSITE_AUTH_ENCRYPTION_KEY值不一致。

  • 操作步骤:
    1. 暂时缩容到单实例测试,看是否恢复正常。
    2. 确认所有实例的环境变量配置完全一致。

二、快速验证方案

先简化健康检查端点,跳过验证逻辑,确认健康检查服务能正常访问端点:

[HttpGet]
[Route("")]
public IActionResult HealthCheck()
{
    // 暂时跳过验证,直接返回200
    return Ok("Healthy");
}

如果此时健康检查显示正常,说明问题确实出在Header验证环节,再回到上述排查步骤定位具体原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:22:55