我无法让 Amazon SNS 向我的 HTTPS 终端节点发送订阅消息。 CloudWatch 日志报告以下内容:
{
"delivery": {
"deliveryId": "7bdda6a5-0000-5d6d-b0c0-e9b254fde521",
"destination": "https://www.beta.yogacentre.com/webhooks/sns",
"providerResponse": "SSLPeerUnverifiedException in HttpClient",
"dwellTimeMs": 63661,
"attempts": 4
},
"status": "FAILURE"
}
它看起来不像我正在使用的 SSL 证书,但我确认根 CA 是 on the list SNS checks. Chrome 报告我的连接使用 TLS 1.2,因此它应该与 recent end of SSLv3 support. 兼容
作为健全性检查,我尝试订阅常规 HTTP 端点,它立即生效。可能是什么原因导致了这个问题?我的证书可以在 https://www.beta.yogacentre.com/ 找到万一我错过了什么。
最佳答案
查看 SSLLabs 对该网站的报告你会看到:
This server's certificate chain is incomplete. Grade capped to B.
这意味着服务器未正确设置,因为它没有发送所有所需的链证书,即站点的叶证书与浏览器或系统信任的根证书之间的信任路径中的所有内容。查看详细信息,您将看到服务器仅发送叶证书,并且“COMODO RSA 域验证安全服务器 CA”缺少的证书被标记为“额外下载”。
虽然 Chrome 等某些浏览器会从互联网下载丢失的证书,但其他浏览器不会,浏览器之外的应用程序也不会这样做。因此,所有这些不知道丢失的链证书的客户端都将失败,因为它们无法构建信任链,这会导致您看到的 SSLPeerUnverifiedException。因此,您需要修复服务器配置以发送丢失的链证书。详细信息取决于服务器配置。
关于amazon-web-services - 使用 HTTPS 终端节点时从 Amazon SNS 获取 "SSLPeerUnverifiedException",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34866180/