java - tls zuul 和微服务用证书相互认证

标签 java spring ssl netflix-zuul

我有一个 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 客户端中找到许多支持客户端证书的示例,例如 thisthis .

关于java - tls zuul 和微服务用证书相互认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48334463/

相关文章:

http - 通过 HTTP 隧道

java - 设置JAVA_HOME

Java 除法和舍入

java - 如何将一个句子分成两部分

java - Android RadioButton 仅显示文本,而不显示设备模拟器中的实际按钮

java - Spring WebFlux : Emit exception upon null value in Spring Data MongoDB reactive repositories?

spring - 无法将 osgi 服务 bean 公开为类而不是接口(interface)

mysql - Spring Boot Rest 服务在正常工作数小时后引发 JPA 连接错误

php - 如何在 Symfony 4 本地 Web 服务器上启用 HTTPS

SSL:如何在 docker 容器中访问 HTTPS