c# - 如何使用 Ocelot API 网关重新路由支持 Kubernetes 就绪/事件探测?

标签 c# asp.net-core kubernetes api-gateway ocelot

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

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

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

最佳答案

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

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

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

关于c# - 如何使用 Ocelot API 网关重新路由支持 Kubernetes 就绪/事件探测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53086681/

相关文章:

c# - 使用 c# 删除延迟时间 : System. Threading.Thread.Sleep(包含代码)

c# - 为什么抛出的异常与 catch block C# 不正确匹配

C# - 如何按键获取/设置 ListViewItem 或 ListViewItem.ListViewSubItem?

asp.net - 如何在.NET core中绑定(bind)模型的多态属性

c# - 使用serilog关闭asp.net core 2.2中的mvc请求日志记录

kubernetes - 如何列出对istio网关的所有传入请求?

c# - 逐行读取一个大文本文件并搜索一个字符串

.net - 在 .NET 核心中查找 2 个坐标之间的距离

kubernetes - 如果 kubernetes 服务失败会发生什么?

docker - 如何通过docker镜像在kubernetes容器中安装kubectl