我已经为我的所有 API (Node.js) 配置了 SSL。最近从 GoDaddy 购买了证书。我使用 openssl 命令验证了它使用的是 TLSv1 协议(protocol)。
但是当我设置我的 Twilio 号码来调用我的 API 时抛出 HTTP 状态代码 502。当我关闭 SSL 时它确实有效。所以它显然是 Twilio 调用我的 HTTPS API 的问题。 错误 : 尝试从 https://api 检索内容...返回 HTTP 状态代码 502。
有人可以帮忙吗?
最佳答案
似乎 Twilio 优先考虑 ECDHE 密码。默认情况下,我的 Node 服务器使用 TLS 密码:TLS_RSA_WITH_AES_256_CBC_SHA256。 AES256-SHA 是一种 CBC 密码,因此容易受到 BEAST 攻击。不要使用它。 我添加了所有密码的列表以在我的 Node 服务器中包含和执行。请参阅文档:https://nodejs.org/api/tls.html
将以下选项添加到我的 Node 服务器 SSL 设置后,Twilio 开始与我的 https API 通信。
ciphers:[ "ECDHE-RSA-AES256-SHA384",
"DHE-RSA-AES256-SHA384",
"ECDHE-RSA-AES256-SHA256",
"DHE-RSA-AES256-SHA256",
"ECDHE-RSA-AES128-SHA256",
"DHE-RSA-AES128-SHA256",
"HIGH",
"!aNULL",
"!eNULL",
"!EXPORT",
"!DES",
"!RC4",
"!MD5",
"!PSK",
"!SRP",
"!CAMELLIA"
].join(':'),
honorCipherOrder: true
关于node.js - Twilio 语音 URL - 在实现 HTTPS (SSL) 时提供 HTTP 状态代码 502,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32099720/