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

.NET Aspire项目中Ocelot网关健康检查异常问题求助

.NET Aspire + Ocelot 网关健康端点问题解决与学习资料推荐

问题解决方法

Ocelot网关默认不会自动处理Aspire的健康检查、监控类端点(如/health、/metrics),导致这些请求被网关拦截无法到达Aspire的默认端点,进而在Aspire仪表盘中显示不健康。可通过以下两种方式解决:

方法1:配置Ocelot忽略指定路径

在Ocelot配置文件(如ocelot.json)的GlobalConfiguration节点中添加IgnoredPaths,让Ocelot直接跳过这些路径的处理,请求会直接转发到Aspire的默认端点:

{
  "Routes": [
    // 你的业务路由配置
  ],
  "GlobalConfiguration": {
    "BaseUrl": "http://localhost:你的网关端口",
    "IgnoredPaths": ["/health", "/metrics", "/endpoints"]
  }
}

方法2:添加端点转发路由

如果需要通过Ocelot转发这些端点请求,可在Routes节点中添加对应路由规则(目标地址设为网关自身):

{
  "Routes": [
    // 业务路由
    {
      "DownstreamPathTemplate": "/api/{everything}",
      "DownstreamScheme": "http",
      "DownstreamHostAndPorts": [
        {
          "Host": "你的业务服务名称",
          "Port": 服务端口
        }
      ],
      "UpstreamPathTemplate": "/api/{everything}",
      "UpstreamHttpMethod": ["Get", "Post"]
    },
    // 健康检查路由
    {
      "DownstreamPathTemplate": "/health",
      "DownstreamScheme": "http",
      "DownstreamHostAndPorts": [
        {
          "Host": "localhost",
          "Port": 你的网关端口
        }
      ],
      "UpstreamPathTemplate": "/health",
      "UpstreamHttpMethod": ["Get"]
    },
    // 其他Aspire端点路由(如/metrics)
    {
      "DownstreamPathTemplate": "/metrics",
      "DownstreamScheme": "http",
      "DownstreamHostAndPorts": [
        {
          "Host": "localhost",
          "Port": 你的网关端口
        }
      ],
      "UpstreamPathTemplate": "/metrics",
      "UpstreamHttpMethod": ["Get"]
    }
  ],
  "GlobalConfiguration": {
    "BaseUrl": "http://localhost:你的网关端口"
  }
}

验证步骤

  1. 确保网关项目已启用Aspire默认端点:在Program.cs中添加app.MapDefaultEndpoints();
  2. 启动网关服务,访问http://localhost:你的网关端口/health,若返回200 OK状态码,说明健康端点已正常工作,Aspire仪表盘会同步显示健康状态。

微服务学习资料推荐

针对刚接触微服务架构的学习者,推荐以下资源:

  • .NET官方文档:包含.NET Aspire、Ocelot的官方指南,覆盖核心概念与配置细节
  • 《.NET微服务:容器化.NET应用架构》:系统讲解.NET微服务的设计原则、网关选型、健康检查、服务发现等关键内容
  • 微软Learn微服务学习路径:提供从基础到进阶的实操教程,包含Aspire集成、Ocelot网关配置等实战环节
  • 开源项目案例:参考GitHub上的.NET微服务示例项目,学习实际场景中Aspire与Ocelot的集成方式,理解微服务架构的落地逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 21:42:33