Twilio Room-events 状态回调处理程序

Twilio Room-events status callback handler

我已经在 docker 容器下部署了 java 服务 (Spring-boot),并且一直在使用嵌入式 tomcat 和 application.properties 中指定的 SSL 配置文件。(我使用的是cert.pem由let's encrypt权限生成的文件。)

在使服务成为 https 之前,我正在接收来自 Twilio 的 webhook,但是一旦我使我的服务成为 https 安全,我就停止接收回调。

在 Twilio 控制台中,调试器事件显示以下错误:

Twilio 无法从以下位置获取内容:https://example.com:8081/twilio/room-events 错误:握手失败:证书异常

发送事件时 -> Twilio 接收错误:

消息“视频:回调请求不成功” http响应“502”

在header中:

X-Twilio-WebhookAttempt 2 X-Twilio-WebhookRetriable 是的 X-Twilio-Reason 证书异常:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径 Content-Length462 Content-Typetext/html

我无法找到任何解决方案,因为我不知道这里发生了什么。 为了解决这个错误,我尝试在密钥库中添加证书来解决这个问题(DigicertGlobalRootCA.cert)(来源:https://support.twilio.com/hc/en-us/articles/360007853433-Troubleshooting-Certificate-Errors-from-the-Twilio-REST-API) 但是还没有解决。

我正在使用此 MultiValueMap 作为请求参数,通过 POST 请求接收事件。

PS :当我在本地使用 ngrok 设置时。它工作得很好。

感谢您的帮助。

我使用的是 Let's encrypt 提供的 cert.pem 文件。为了与外部世界通信,需要使用 cert.pem 而不是 cert.pem。(在 java 密钥库中)

使用以下 URL 找出 SSL 验证:

https://www.sslshopper.com/ssl-checker.html

从这篇精彩的文章中获取有关证书链的信息。

https://medium.com/@superseb/get-your-certificate-chain-right-4b117a9c0fce