【问题标题】:Facebook messenger chatbot shows "Check your connection and try again."Facebook Messenger 聊天机器人显示“检查您的连接并重试”。
【发布时间】:2017-03-25 15:43:12
【问题描述】:

最近,我试图为自己构建一个机器人。当我使用 ngrok 在本地测试我的机器人时,它可以完美运行,但是当我部署到 AWS 时,我开始偶尔看到下面捕获的错误,并导致没有从 Facebook 向我的服务器发送 webhook 请求。我不知道可能出什么问题。我也用 tcpflow 检查了发送到我的服务器的请求,但是运气不好,看起来 Facebook 只是没有将那个特定的请求发送到我的服务器。这是一个非常奇怪的问题,在我的机器人对话流程的任何特定点都不会发生。我总是需要重复我的回答或回发才能让它发挥作用。

一些基本的服务器信息(不知道这是否重要):

  1. 可用区:ap-southeast-1b
  2. 类型:t2.micro
  3. CPU 使用率(当时):4%

如果有人能解开我的谜团,我将不胜感激。谢谢。

仅供参考,我已将此事报告给 Facebook:https://developers.facebook.com/bugs/1825253057751227

【问题讨论】:

  • 我刚刚用谷歌搜索了这个错误,它与这个不同吗:android.stackexchange.com/a/100886
  • 您是否在您的 aws 实例上使用静态 IP? VPC?
  • 我正在为 AWS 使用弹性 IP。实际上,我向 Facebook 报告了这个问题,他们承认这是一个有效的错误并指派人员修复它,虽然还没有修复
  • AWS 不是问题。
  • 好吧,Facebook 会处理它吗?如果是这样,我相信他们最适合为您解决这件事。

标签: javascript node.js facebook amazon-ec2 facebook-chatbot


【解决方案1】:

您的 webhook 服务器必须通过有效的 https(非自签名)工作。

我的建议 - 将 https 添加到 webhook 服务器,使用 cloudflare service(它是免费的),或者使用 letsencrypt 获取免费的有效证书

【讨论】:

  • 我实际上正在使用letsencrypt,但仍然遇到同样的问题:(
  • 您能否通过 curl 或 PostMaster 等客户端应用测试对 aws 的请求。您是否看到此测试对 aws 的请求?
  • 是的,这个错误是偶发的,一般我可以在AWS上看到请求,只是有时会出现错误
【解决方案2】:

如果您的错误是偶然的,我建议将您的实例大小从 Micro 提高到至少 Medium 或 Large 并使其成为 Dedicated 实例。运行letsencrypt客户端所需的资源,加上你的机器人流量和嘈杂的邻居可能会克服共享的微实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    相关资源
    最近更新 更多