通过HTTPS / SSL在AWS ELB后面的Zuul

时间:2016-07-19 16:31:51

标签: spring amazon-web-services spring-cloud spring-hateoas netflix-zuul

我有一个AWS Elastic Load Balancer,其中包含我的域的证书,并终止SSL流量。 ELBhttps端口上有一个监听器,并将其转发为httpZuul

当我使用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并使用自签名证书,但如果可以,我宁愿将这种并发症排除在外。

1 个答案:

答案 0 :(得分:1)

根据Zuul团队的建议,可以通过添加doc['recipe_user_ids'].values.find {it == current_user_id} Zuul过滤器修复此问题,以便在pre之后应用(订单5):

PreDecorationFilter