URI-rewrites 和 HATEOAS 组合时应该使用什么 headers?
What headers should be used when combining URI-rewrites and HATEAOS?
假设我有一个接受请求的 Foo 服务:
http://foo-service/bar/baz
...和 returns HATEOAS-style 回复:
{
"self": "http://foo-service/bar/baz"
}
(是的,应该是 links
、href
,等等——我正在简化这个问题)。
现在假设我想把它放在也重写 URI 路径的 reverse-proxy 后面:
http://router/foo/bar/baz
(在这里,我正在检测以 /foo/...
开头的路径,因此 reverse-proxy 知道要路由到哪个服务。我希望 self
link 成为 "http://router/foo/bar/baz"
,即使 reverse-proxy 实际上向 http://foo-service/bar/baz
提出了请求。
我知道用于指定原始请求主机的 Host:
和 X-Forwarded-Host:
header。
指定原始路径的正确header(或更一般地说,正确的方法是什么)是什么?
终于找到了可能的答案:好像是X-Forwarded-Prefix.
例如:HATEOAS paths are invalid when using an API Gateway in a Spring Boot app
假设我有一个接受请求的 Foo 服务:
http://foo-service/bar/baz
...和 returns HATEOAS-style 回复:
{
"self": "http://foo-service/bar/baz"
}
(是的,应该是 links
、href
,等等——我正在简化这个问题)。
现在假设我想把它放在也重写 URI 路径的 reverse-proxy 后面:
http://router/foo/bar/baz
(在这里,我正在检测以 /foo/...
开头的路径,因此 reverse-proxy 知道要路由到哪个服务。我希望 self
link 成为 "http://router/foo/bar/baz"
,即使 reverse-proxy 实际上向 http://foo-service/bar/baz
提出了请求。
我知道用于指定原始请求主机的 Host:
和 X-Forwarded-Host:
header。
指定原始路径的正确header(或更一般地说,正确的方法是什么)是什么?
终于找到了可能的答案:好像是X-Forwarded-Prefix.
例如:HATEOAS paths are invalid when using an API Gateway in a Spring Boot app