【发布时间】:2019-06-14 08:20:43
【问题描述】:
我有一个奇怪的问题 w.r.t 安全 websoket 连接到 Spring Boot 应用程序(运行 WSS 端点)。基本上我有一个 websoket 客户端,它是我的生产代码的一部分,它假设使用 let's encrypt 证书连接到 EKS 集群中可用的 wss 端点。但是由于某种原因,它没有连接并抛出一个异常,指出“不是有效的证书路径”。我确信我在双方都使用了正确的证书。
经过一些调查,我发现 EKS 在握手期间给了我一个 Kubernetes 假证书,而不是由于某种原因让我们加密证书。有趣的事实是,如果我在生产代码之外编写一个简单的 websoket 客户端,我可以使用 let's encrypt 证书连接到端点。
仅供参考,我在笔记本电脑上运行这两个代码,所以 JVM 环境,证书存储是相同的。以前有没有人遇到过这个问题,或者你能帮我解决我应该开始调查的领域吗?
通过wireshirk 捕获,我看到生产请求和示例应用程序请求的差异如下,生产应用程序中缺少server_name,不知道为什么。
【问题讨论】:
标签: spring-boot ssl websocket spring-websocket amazon-eks