首页 > 解决方案 > 使用 ngrok 隧道到 localhost 测试 Twilio 会导致错误的主机名错误

问题描述

过去,我使用 ngrok 在我的本地机器上测试 twilio webhooks - 它总是有效的。我正在开发一个使用 Co-Pilot 的新应用程序(不确定它是否与 co-pilot 有任何关系)并且我收到了11210错误:HTTP bad host name.

我初始化我的隧道/Applications/ngrok http -host-header=rewrite local.whicheversiteimworkingon.com:80

消息文本中列出的 URL 是http://fcd0ed57.ngrok.io/sms/twilio/incoming但正文显示

Twilio was unable to fetch content from: https://local.thesiteimworkingon.com/sms/twilio/incoming
Error: Unknown host local.thesiteimworkingon.com
Account SID: AC5a22f090b458f6942da879d347451dfd
SID: SM9c45741b5b70967df6a7e196e3bee552
Request ID: 9fde222c-14e1-448e-ad79-4a392d212ffd
Remote Host: local.thesiteimworkingon.com
Request Method: POST
Request URI: https://local.thesiteimworkingon.com/sms/twilio/incoming
SSL Version: TLSv1.2
URL Fragment: true

不幸的是,我没有从它开始工作时的例子 - 自从我不得不这样做以来已经有几个月(可能是 12 岁以上)。

[更新] 我已经确认副驾驶和常规号码会发生这种情况,开始认为它与环境有关。

为了在本地进行测试,我是否配置错误?

标签: twiliotwilio-api

解决方案


Twilio 开发人员布道者在这里。

这可能与您使用的应用程序服务器需要不同的主机名有关。当你启动 Ngrok 时,你可以传递--host-header标志来重写你的应用程序的主机头。

ngrok http 3000 --host-header=rewrite local.domain.com

让我知道这是否有帮助。


推荐阅读