我有一个AWS Elastic Load Balancer
,其中包含我的域的证书,并终止SSL
流量。 ELB
在https
端口上有一个监听器,并将其转发为http
到Zuul
。
当我使用Spring Boot HATEOAS
时,Zuul会使用正确的地址替换链接,但使用http
代替https
:
"_links": {
"self": {
"href": "http://my.domain.com:80/rest/foo/bar"
}
}
但我想要的是:
"_links": {
"self": {
"href": "https://my.domain.com/rest/foo/bar"
}
}
生成此回复的请求是通过https
因为Zuul
落后于ELB,我猜它无法知道它应该通过https接收流量。
有没有办法告诉Zuul
替换https
的链接,即使它通过http
收到未加密的流量?
我想另一种方法是使用Zuul
部署https
并使用自签名证书,但如果可以,我宁愿将这种并发症排除在外。
答案 0 :(得分:1)
根据Zuul团队的建议,可以通过添加doc['recipe_user_ids'].values.find {it == current_user_id}
Zuul过滤器修复此问题,以便在pre
之后应用(订单5):
PreDecorationFilter