我有一个 zuul 代理充当边缘服务器,我的微服务是非 jvm 应用程序,我不使用 ribbon 或 eureka。这些微服务只能通过 https 访问,并且需要客户端证书才能与它们通信。 zuul 是否支持与下游证书的相互认证?如果是这样,我该如何在我的 zuul 服务器上进行设置。
最佳答案
如果您使用的是 Spring Cloud Zuul,您可以通过定义 CloseableHttpClient
bean 来提供自己的 Http 客户端,如下所示。 (Edgware 版本支持)
@Bean
public CloseableHttpClient httpClient() throws Throwable {
return HttpClients.custom()
.......ssl context or sslsocketfactory settging.
.build();
}
如果你提供了这种类型的bean,Zuul在进行http请求的时候就会使用这种bean。因此,您可以定义自定义 SSL 上下文以支持客户端证书。您可以在 apache http 客户端中找到许多支持客户端证书的示例,例如 this或 this .
关于java - tls zuul 和微服务用证书相互认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48334463/