首页 > 解决方案 > 如何使用 Ocelot API 网关重新路由来支持 Kubernetes 就绪/活跃度探测?

问题描述

我正在尝试使用 Ocelot 作为 K8S 集群的网关,理想情况下希望使用就绪/活跃度探测器。但是我试图让 Ocelot 处理探针端点的每一种方式都会导致问题:

  1. 如果我不为其创建重新路由,Ocelot 将返回 404
  2. 如果我将端点重新路由回自身,Ocelot 就会陷入无限循环
  3. 如果我将端点重新路由到本身未重新路由的现有位置,Ocelot 将返回 404

有没有办法让 Ocelot 允许访问驻留在同一服务中的端点?

标签: c#asp.net-corekubernetesapi-gatewayocelot

解决方案


我发现了如何做到这一点。这实际上非常简单,您只需在管道中比 Ocelot 中间件更早地注入 MVC 中间件,MVC 将在 Ocelot 看到它们之前处理对内部端点的请求。

app.UseMvc();
app.UseOcelot().Wait();

来源:https ://github.com/ThreeMammals/Ocelot/issues/681


推荐阅读