我有一个zuul代理充当边缘服务器,我的微服务是非jvm应用程序,我不使用功能区或尤里卡。这些微服务只能通过https访问,并且需要客户端证书才能与它们通信。 zuul是否支持与下游的证书相互认证?如果是这样,我如何在我的zuul服务器上进行设置。
答案 0 :(得分:4)
如果你正在使用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。