问题标签 [ocelot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8225 浏览

.net-core - 404 尝试将上游路径路由到 Ocelot 中的下游路径

在将传入的 http 请求转发到下游路径时,我遇到了这个警告/错误。

Ocelot.DownstreamRouteFinder.Middleware.DownstreamRouteFinderMiddleware:警告:requestId:80000025-0004-fd00-b63f-84710c7967bb,previousRequestId:没有以前的请求 id,消息:DownstreamRouteFinderMiddleware 设置管道错误。IDownstreamRouteFinder 返回错误代码:UnableToFindDownstreamRouteError 消息:无法匹配上游路径的路由配置:/getDepartment,动词:GET。

程序.cs

启动.cs

豹猫.json

我在此收到错误 404。

0 投票
1 回答
4005 浏览

.net-core - Ocelot 发布请求未通过

我已经在我的项目中实现了 Ocelot API 网关,该网关对于“GET”请求运行良好,但是当我尝试发送“POST”请求时出现错误:

previousRequestId:没有先前的请求 id,消息:错误代码:UnableToFindDownstreamRouteError 消息:无法匹配上游路径的 ReRoute 配置:/api/patient/CreateAppointment,动词:POST。在 ResponderMiddleware 中发现错误。请求路径设置错误响应:/api/patient/CreateAppointment,请求方法:POST

以下是我的 ocelot.json:

当直接从 Swagger 或 Postman 调用时,我正在执行“POST”请求的 API 对于“POST”请求运行良好。 大摇大摆的形象

请让我知道我应该在 ocelot.json 文件中更改什么,以便“POST”请求可以通过?

0 投票
1 回答
1923 浏览

.net-core - Ocelot - gRPC 服务?

如何在 .Net Core 3.1 中将 Ocelot Gateway 用于 gRPC 服务?

Ocelot 不支持 gRPC 还是有什么方法可以集成它?希望能帮到你,谢谢!

0 投票
1 回答
1007 浏览

asp.net-core - Ocelot 路由聚合:要么不存在,要么没有正确的 ServiceName 属性

我正在尝试使用 Ocelot 创建概念证明并查看 API 聚合。

我的 Ocelot 配置看起来有点像这样

我已删除不属于此问题的路线

我的 Startup.cs 有这个

然后我需要为 FakeDefinedAggregator 创建类,就像这样

运行 \ 调试应用程序时,我会在app.UseOcelot().Wait();

异常:无法启动 Ocelot,错误是:aggregateRoute /FormEngineAndFeeCalculation 的路由不存在或没有正确的 ServiceName 属性

我们将不胜感激地收到有关此问题的任何帮助。

0 投票
1 回答
3138 浏览

c# - 将 Ocelot 16.0 与 ASP.Net Core 3.1 集成不起作用,因为我需要将 Swagger 与 Ocelot 一起使用

我已经将 Ocelot 与 Asp.Net Core 2.1 一起使用并且可以正常工作,但是当与 Asp.Net Core 3.1 一起使用时,它根本无法正常工作。在我看来,它没有选择“ocelot.json”文件。以下是我的 Program.cs 文件:

下面是 Startup.cs 文件:

下面是 ocelot.Development.json 文件:

我已经从 YouTube 上引用了上述所有配置,但它不起作用。本地网站正在运行,但是当我尝试点击 UpStream 路径时,它给了我 localhost not found 404 错误。请协助我解决此问题。

提前致谢。

0 投票
1 回答
1965 浏览

swagger - 如何在 Asp.Net Core 2.1 中使用 Swagger 和 Ocelot

我想在 Swagger 中展示我的 API 网关的所有端点。对于网关,我使用了带有 Asp.Net Core 2.1 的 Ocelot,但 Ocelot 的文档说它不支持 Swagger。无论如何,如果有人可以就此提出建议吗?

0 投票
1 回答
360 浏览

asp.net - 如果 Ocelot Gateway API 中的主地址不可用,则重定向到其他地址

我想使用 Ocelot Gateway Api 连接到服务器,但如果服务器不可用(例如 PC 离线),我想使用本地服务。例如,如果第一次localhost:7001失败,请使用localhost:7002.

这样的事情甚至可能吗?

0 投票
0 回答
84 浏览

asp.net-core - 重启后Ocelot配置正在恢复

我正在尝试实现 Ocelot 网关,并且我正在使用管理API 来更新运行时的配置。

所以问题是当我更新配置时,它正在更新 bin 文件夹中的文件,这是预期的行为,但是当我重新启动服务时,配置会自行恢复。

我尝试了各种事情,比如使用领事,但同样的事情也发生在那里。

我在 .net core 3.1 上使用 Ocelot 16.0.1。

是我的 git 仓库。

我还在ocelot repo 中提出了一个问题。

0 投票
1 回答
670 浏览

c# - [Authorize]对ocelot网关后面的内部服务没有用吗?

鉴于我已经根据ocelot 文档设置了 ocelot 并与 IdentityServer4 集成,我是否应该从这些内部服务中删除[Authorize]属性和身份验证相关代码(例如UseAuthentication中间件)?Startup

  • 如果删除[Authorize]相关代码,这些内部服务如何获得User.Claims?以及如何保护这些服务免受来自内部的线程的影响?

  • 如果保留[Authroize]相关代码,那么将 IdentityServer4 与 Ocelot 集成有什么意义?我能看到的唯一好处是防止无效请求到达内部服务。


长篇大论:

我设置了 Ocelot 网关并与 IdentityServer4 集成。我所有的内部 Api 服务(例如 ServiceA、ServiceB)都在网关后面。

为了保证内部服务的安全,我AuthenticationOptions按照 ocelot 官方文档中的说明进行了设置。

例如 ocelot 网关配置:

需要保护的服务A:

User.Claims如果[Authorize]删除了相关代码,如何获取?

0 投票
1 回答
2259 浏览

asp.net-core - Ocelot API gateway setting only TimeOut value throwing error

According to Ocelot document Quality Of Service we can metion only TimeOutValue in Routes, like

#xA;

but this is throwing exception like

#xA;

My Route configuration is

#xA;

My .Net Core version is 3.1 and Ocelet version is 16.0.1