问题标签 [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 回答
2836 浏览

.net-core - 如何使用声明(角色)设置 Ocelot?

我正在尝试在 Api 网关中设置 Ocelot,但我被困在授权上。我已经设法设置了声明,并且可以在我的控制器中对它们进行授权。我向这样的用户添加声明:

然后我使用以下配置设置 Ocelot:

这是我的 ConfigureServices 方法:

然后我登录到这个网关 Api(它是一个 MVC 项目,具有用于登录/注册/等的默认 UI)并尝试访问以下 URL:

但是,我总是得到 403 状态。当我删除RouteClaimsRequirement时,它可以工作。所以我想我遗漏了一些东西,但我不知道文档RouteClaimsRequirement有点稀疏。

有人可以帮我吗?谢谢。

0 投票
2 回答
2891 浏览

azure - 如何使用 Azure Active Directory 设置 Ocelot Api 网关

我遵循教程并设法将 api 与 Azure Active Directory 身份验证和授权一起使用。

但是我想从 Ocelot Api Gateway 后面使用 api。我可以使用带有自定义基本授权的 ocelot,但无法与 Azure Active Directory 一起使用。

我已经将 Ocelot api 网关 url 添加到我的 api 重定向 url 列表中。

我应该如何在 config.json 和 Ocelot Api Gateway 项目 StartUp.cs 中设置 ReRoutes 值?

任何帮助将不胜感激。

0 投票
2 回答
1728 浏览

c# - 绕过 Ocelot API 网关

我有一个 API 网关,在本例中称为 Gateway.Api。在Startup课堂上,我有以下内容:

如您所见,它定义了身份验证方案。

使用Ocelot我的以下配置文件Gateway.Api

当我尝试在没有令牌的情况下访问http://localhost:50333/api/customer(Gateway.Api 的端口为 50333)时,我收到 401 响应,证明配置文件和身份验证都有效。

除了客户微服务,我还有一个身份微服务,它允许用户使用有效的用户名和密码进行身份验证,然后发出一个令牌。然后使用此令牌调用客户服务,我得到一个成功的响应(200 OK)。

现在由于某种原因,如果我直接访问客户服务而不使用网关(所以http://localhost:50366/api/customer)我能够在没有令牌的情况下获得成功的响应。

下面是客户微服务:

这是否意味着我必须为每个微服务Startup类添加一个身份验证方案?如果是这样,这不是矫枉过正吗?

我所做的尝试是[Authorize]在 Customer 微服务中的操作上使用一个属性,但这会引发一个异常,即它们不是默认的身份验证方案。

0 投票
1 回答
1876 浏览

.net-core - TypeError:无法在“窗口”上执行“获取”:无法解析 URL

我正在使用 MMLib.SwaggerForOcelot 作为网关。在 .Net 核心中

在此处输入图像描述

我得到了这个错误。任何想法?

我的上游和下游:

我的重新路由:

谢谢,克鲁斯。

0 投票
1 回答
1679 浏览

c# - 如何在 Ocelot 的 PreAuthenticationMiddleware 中停止请求?

在 ocelot 身份验证之前,我必须对请求的 jwt 进行一些检查,所以我在PreAuthenticationMiddleware中进行这些检查,如下所示:

next是否可以返回自定义响应而不是 not-invoking ?

我想返回 401 错误

0 投票
0 回答
477 浏览

microservices - 当出现 n 个异常时,Ocelot QoS 不会断路

我正在Ocelot Gateway上执行 PoC以用于我们的微服务架构。到目前为止,我已成功使用网关执行所有路由任务。

它提供了一个 QoS 服务,该服务在 ocelot.json 中为断路器保存配置,并在一段时间内断开电路。

我的ocelot.json文件中针对特定路由设置的配置如下:

现在,这适用于超时问题,当路由在 3 秒内没有响应时,它会中断电路 10 秒。

但是对于异常情况,在调用路由时,出现2次异常时,不会断路。

是否需要更多配置?

为 Ocelot 和 Ocelot.Provider.Polly 添加了 Nuget 包,并在我的Startup.cs文件中添加了以下内容:

请帮我解决这个问题。我已经按照 [Ocelot 文档] https://ocelot.readthedocs.io/en/latest/features/qualityofservice.html来实现这个

0 投票
1 回答
1110 浏览

asp.net-core - Ocelot 可以拥有自己的控制器/动作吗?

我正在尝试组合一个 API 网关,该网关还可以用于混合对多个 API 的调用。我还想拥有自动生成的 Swagger,所以我想结合 Ocelot 的授权和速率限制功能,但也希望能够在 .NET 代码中创建边缘自定义 API 来处理 API 调用的翻译和组合.

Ocelot 可以做到这一点,有没有例子?Ocelot 是否仅与下游 API 作为单独的应用程序一起使用?我试图避免只存在于混搭和复合 API 调用的额外跃点。

0 投票
1 回答
442 浏览

ocelot - 在运行时检索 UpstreamPathTemplate Ocelot Gateway

我想在运行时检索“UpstreamPathTemplate”参数,以在我的日志中使用。请问有人知道怎么做吗?

0 投票
0 回答
2401 浏览

c# - 带有 Jwt Auth 的 Ocelot

我正在ocelot(asp.net核心中的api网关)中使用jwt auth设置身份验证,但没有成功。我在邮递员中执行我的代码,但输出不符合预期。

这是 Startup.cs 中的 ConfigureServices 我从 appsettings.json 获取 ApiKey,并添加了 Jwt 的参数,例如 issuer、audience 和 IssuerSigningKey。

还有这个 ocelot.json

我预计输出是 401 响应,但实际输出是 200

0 投票
1 回答
935 浏览

c# - 我可以使用 Ocelot 将 POST http 请求重新路由到 GET http 请求吗?

我们有一个 ocelot 网关,可以将我们以前的 WCF 请求重新路由到更新的 .NET Core 服务。一些旧请求仍将发送到 WCF 服务。这一切都很好。

现在我想将带有请求模型的 POST重新路由到带有查询字符串标头的 GET 。我似乎无法弄清楚如何做到这一点,所以我有点期望查询字符串参数能够开箱即用并为标题做一些自定义的事情。

这是我的重新路由json:

我的请求正文:

是否可以在 ocelot 中配置它以便正确重新路由?如果是这样,你能指出我正确的方向吗?