1

我正在寻找一种将客户端请求的 URL 转发到 Kong API 网关到我的 API 微服务的方法。例如,如果我kongw.com指向我的 Kong 网关,我想将整个域转发到我的微服务。

另一个例子:

客户正在请求mysubdomain.kongw.com/orders/list。我希望我的微服务知道请求的整个 URL。

我发现我可以配置 Nginx 以使用其 server_name 通配符获取 URL。但是通配符什么也没返回。X-Wholerequest我想通过向请求添加参数来将结果发送到我的微服务。但它没有用。

配置 Nginx 的正确方法是什么?有没有其他方法可以处理Kong的这种情况?

4

2 回答 2

0

因此,您有一个在 kongw.com 上运行的 Kong 集群,现在您想将 mysubdomain.kongw.com/orders-service 转换为 kongw.com/orders-service。

您可以将 CNAME mysubdomain.kongw.com 指向 kongw.com,然后使用 kong 路由规则将所有带有主机的请求路由到服务 kongw.com/orders-service。

Kong 将评估任何传入的 HTTP 请求,前提是您已经为 API 的 public_dns 实现了通配符子域。

另一种方式,使用 url-rewrite,这个插件简单地丢弃 kong 路由中设置的 url,并使用其配置中设置的 url 代理到上游。

于 2021-08-20T17:08:50.290 回答
0

Kong Enterprise Edition Request Transformer 插件https://getkong.org/plugins支持您描述的功能,其中 Kong 捕获请求的完整 URL,然后将该 URL 作为请求标头添加为请求在上游代理/ee-request-transformer/ - 包含在 Mashape Enterprise 的付费订阅中。

使用自定义 NGINX 配置也可以做到这一点,但我不熟悉如何做到这一点。

于 2017-10-11T00:39:17.910 回答