【问题标题】:error when deploying Twilio service to Heroku将 Twilio 服务部署到 Heroku 时出错
【发布时间】:2018-01-10 09:30:01
【问题描述】:

我使用 Twilio 服务编写了一个 NodeJS。该应用程序在本地运行良好,但是在将应用程序部署到 Heroku 时,我不断收到以下错误 11200 尝试检索此 URL 的内容失败 我使用 Heroku 应用的链接 https://xxx.herokuapp.com/ 作为 webhook,但我不确定它是否正确

【问题讨论】:

  • 您能否在 Heroku 上向您的 webhook URL 发出请求(在 Web 浏览器中或使用 curl 或 Postman 之类的工具)?您是否已将 Twilio 控制台中的 Webhook URL 从测试 URL 更新为 Heroku URL?您是否在 Heroku 中正确设置了环境变量?
  • 我认为我的配置是正确的,因为我的 Heroku 日志中没有错误。但是,在我的 Twilio 控制台的 webhook 配置下,我使用了我的 Heroku 应用程序的 URL xxx.herokuapp.com/sms,但它似乎不起作用。
  • 好的,很酷,我的其他问题呢?你能在 Heroku 上向你的 webhook URL 发出请求吗?
  • 我认为这是错误出现的时候。当我发送文本消息/发出请求时,Twilio 调试控制台会警告 11200 错误,而不是发回回复消息。当我使用 ngrok 在本地对其进行测试时,该应用程序运行良好
  • 所以我不确定 Heroku URL 是否是正确的 webhook URL,或者我应该为我的配置查看什么

标签: node.js express heroku twilio


【解决方案1】:

这里是 Twilio 开发者宣传员。

花了一些时间,但我认为我们已经找到了问题的根源。

在您的Procfile 中,您目前拥有:

worker: node server.js

但是,您不想运行工作进程,您需要一个接收传入连接的 Web 进程。

所以,把你的 Procfile 改成

web: node server.js

部署到 Heroku 并重试。

【讨论】:

    【解决方案2】:

    根据Twilio documentation,

    11200 错误表示 Twilio 之间的连接失败 和您的服务。当 Twilio 从您的服务器请求页面时,我们 等待最多 15 秒的响应。连接失败将 如果在那段时间内没有返回响应,则会发生。

    原因可能取决于以下(但不限于)

    • 您在 Heroku 上部署的应用程序执行了一些繁重的操作。 Heorku 没有提供足够的资源,无法在 15 秒内完成。 - 检查端点是否在 15 秒内发送回复。
    • Twilio 根本无法连接您的应用程序,可能是因为端口限制? - 检查端点是否工作
    • 由于某种原因,您的应用程序正在向 Twilio 返回 4xx 或 5xx HTTP 响应 - 检查您的应用程序返回的内容
    • 还要检查Twilio documentation 中列出的其他项目。

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 2019-12-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      • 2018-06-05
      • 2017-11-25
      • 1970-01-01
      相关资源
      最近更新 更多