【发布时间】:2017-10-10 21:24:08
【问题描述】:
我正在寻找一种将客户端请求的 URL 转发到 Kong API 网关到我的 API 微服务的方法。例如,如果我的 kongw.com 指向我的 Kong 网关,我想将整个域转发到我的微服务。
另一个例子:
客户端正在请求mysubdomain.kongw.com/orders/list。我希望我的微服务知道请求的整个 URL。
我发现我可以配置 Nginx 以使用其 server_name 通配符获取 URL。但通配符什么也没返回。我想通过在请求中添加X-Wholerequest 参数来将结果发送到我的微服务。但它没有用。
配置 Nginx 的正确方法是什么? 有没有其他方法可以处理Kong的这种情况?
【问题讨论】:
-
所以,你有一个在 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 代理到上游。