繁体   English   中英

仅在弹簧云微服务实例中使用https

[英]Using https only with spring cloud microservice instances

为了在所有Spring云微服务实例之间使用https,我们可以生成一个java密钥库,并使用它来配置每个实例,如下所示:

server.ssl.key-store=server.jks
server.ssl.key-store-password=<pw>
server.ssl.keyStoreType=jks
server.ssl.keyAlias=tomcat
server.ssl.key-password=<pw>

IIUC就设置ssl传输层而言,我们需要做什么? 在相同微服务类型的所有实例中使用相同的密钥库是否可以/安全? 例如,边缘服务器可以使用功能区在microserviceA - instance1microserviceA - instance2microserviceA - instance3之间进行负载平衡,这些都将具有相同的密钥库。

如果我们还有一个microserviceB,它是否也可以使用相同的密钥库而不会影响安全性?

从管理/ devOps的角度来看,这是最简单的方法吗?

对于每个相同微服务的运行实例,SSL证书应该是相同的,并且对于每个微服务(您的微服务A与微服务B)是唯一的。 如果您将服务移到硬件负载平衡器后面,那么它将变得很明显。

当/如果您对服务服务调用进行X.509客户端证书身份验证时,您将需要根据它们提供的证书对服务进行身份验证和授权。 如果他们都出示相同的证书,那么你就不能这样做。

从devOps的角度来看,您可以通过集中存储证书来节省您的头痛 - 我们将Spring Cloud Config Server与网站后端一起使用 - 并设置工作以每天检查证书的到期日期,以便您不要部署后一年左右会出现令人不快的意外。

我们为每个服务使用单独的密钥库/信任库,因为它适合我们的部署模型,但您可以使用具有多个服务别名的单个密钥库,因为内部的私钥可以具有唯一的密码。 但要注意,并非所有java http框架都能够通过别名选择密钥或支持不同的密钥库/密钥密码......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM