组合URI重写和HATEAOS时应该使用哪些标头?

时间:2016-03-01 15:21:02

标签: reverse-proxy hateoas

让我们说我有一个Foo服务接受像:

这样的请求
http://foo-service/bar/baz

...并返回HATEOAS风格的回复:

{
  "self": "http://foo-service/bar/baz"
}

(是的,它应该是linkshref等 - 我简化了这个问题。)

现在假设我想把它放在一个也重写URI路径的反向代理之后:

http://router/foo/bar/baz

(在这里,我检测到路径以/foo/...开头,因此反向代理知道要路由到哪个服务。我希望self链接是"http://router/foo/bar/baz",即使反向代理实际向http://foo-service/bar/baz发出了请求。

我知道用于指定原始请求主机的Host:X-Forwarded-Host:标头。

指定原始路径的正确标题(或更一般地说,正确的方法是什么)是什么?

1 个答案:

答案 0 :(得分:1)

最后找到了一个可能的答案:它似乎是 X-Forwarded-Prefix

例如:HATEOAS paths are invalid when using an API Gateway in a Spring Boot app