我正在构建微服务架构中的应用程序。我正在使用基于SpringApplication的Netflix的zuul,eureka和微服务。整个项目将使用免费帐户部署在Heroku上。因此,每项服务都是一个单独的应用程序,由Heroku通过https向公众提供服务。
现在我已经设法部署eureka,然后部署在eureka注册的微服务,然后部署在eureka注册的zuul并从eureka获取路由。现在我面临着Heroku证书的问题。当我直接向微服务发送请求时,我得到了回复。当我通过zuul发送请求时,我收到500错误。通过zuul日志查看我发现:
Caused by: javax.net.ssl.SSLPeerUnverifiedException: Certificate for <ffa57931-eab7-425c-ab80-0ec6fe669a9d.prvt.dyno.rt.heroku.com> doesn't match any of the subject alternative names: [*.herokuapp.com, herokuapp.com]
我找不到配置功能区以接受所有证书的解决方案。所以问题是如何在不使用自定义ssl证书的情况下解决此问题?
答案 0 :(得分:0)
好的,我发现了一个问题。使用eureka REST API时我已指定:
ffa57931-eab7-425c-ab80-0ec6fe669a9d.prvt.dyno.rt.heroku.com
这就是zuul试图将流量路由到的原因
"hostname": <heroku_appname>.herokuapp.com
。
相反,我应该使用:
request.requires_https()
感谢大家的评论。希望有帮助的是有人发现自己陷入同样的麻烦。