免费 dyno 的 Heroku 证书与其网址不匹配

Heroku cert for free dyno does not match it's ulr

我正在构建微服务架构中的应用程序。我正在使用 Netflix 的 zuul、eureka 和基于 SpringApplication 的微服务。整个项目将使用免费帐户部署在 Heroku 上。因此,每个服务都是一个单独的应用程序,由 Heroku 通过 https 提供给 public.

目前我已经设法部署了eureka,然后部署了在eureka 中注册的微服务,然后部署了在eureka 中注册并从eureka 获取路由的zuul。现在我面临着 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 证书的情况下解决这个问题?

好的,我发现了一个问题。当使用尤里卡 REST API 我指定:

"hostname": "localhost".

这就是 zuul 尝试将流量路由到
的原因 ffa57931-eab7-425c-ab80-0ec6fe669a9d.prvt.dyno.rt.heroku.com.

相反,我应该使用:

"hostname": <heroku_appname>.herokuapp.com

感谢大家的评论。希望对遇到同样问题的人有所帮助。