让我们说我有一个Foo服务接受像:
这样的请求http://foo-service/bar/baz
...并返回HATEOAS风格的回复:
{
"self": "http://foo-service/bar/baz"
}
(是的,它应该是links
,href
等 - 我简化了这个问题。)
现在假设我想把它放在一个也重写URI路径的反向代理之后:
http://router/foo/bar/baz
(在这里,我检测到路径以/foo/...
开头,因此反向代理知道要路由到哪个服务。我希望self
链接是"http://router/foo/bar/baz"
,即使反向代理实际向http://foo-service/bar/baz
发出了请求。
我知道用于指定原始请求主机的Host:
和X-Forwarded-Host:
标头。
指定原始路径的正确标题(或更一般地说,正确的方法是什么)是什么?
答案 0 :(得分:1)
最后找到了一个可能的答案:它似乎是 X-Forwarded-Prefix 。
例如:HATEOAS paths are invalid when using an API Gateway in a Spring Boot app