使用 ngrok url 作为 facebook webhook 的回调 url,但可识别"not whitelisted"



我的IDE是Pycharm。 我想在本地测试我的应用程序,所以我在本地运行我的服务,并使用 ngrok 向 Internet 公开我的应用程序。

ngrok 显示的网址是https://436cb7e9.ngrok.io

但是当我想验证 facebook webhook 回调网址使用上面的这个网址时,它会显示

错误 2017-12-27 08:16:37,407 wsgi_server.py:329] 请求主机 436cb7e9.ngrok.io 未列入白名单。已设置已启用的主机(["本地主机"])

我之前运行该应用程序很好,但我不知道为什么这次它显示错误。 有人可以给我建议吗?

经过一番挖掘,并感谢 Brady 对 gcloud 版本的评论,我发现解决此问题所需要做的就是在运行应用程序时添加一个标志。

因此,假设你在本地运行应用:

python $APPENGINE/dev_appserver.py

只需将其更改为:

python $APPENGINE/dev_appserver.py --enable_host_checking=false

并且您不应该再出现主机白名单错误。

有关详细信息,请查看此处的发行说明:https://cloud.google.com/appengine/docs/standard/python/release-notes#december_5_2017

这似乎在gcloud 183.0.0和187.0.0(撰写此评论时的最新版本)上对我来说工作正常。

它是通过 ngrok 仪表板的Auth选项卡完成的。从 IP 白名单隧道访问:

您可以将对账户中隧道终端节点的访问权限列入白名单。这 白名单由 ngrok.com 服务器强制执行。它在全球范围内应用 到所有隧道端点。与任何 检查您的隧道端点以保证源 IP 连接的地址至少与 白名单。如果连接与白名单不匹配,则为 立即终止,从未转发给 ngrok 客户端。

作为特殊情况,如果您的白名单为空,则所有连接都是 允许

管理白名单

您可以在 ngrok 的身份验证选项卡上管理 IP 白名单 挡泥板。在"IP白名单"部分下输入新的IP地址,然后 ,然后单击添加白名单条目。对 IP 白名单的更改可以 最多需要 30 秒才能生效。

IP 范围

有时,您可能希望将整个IP范围列入白名单。相反 只输入一个 IP 地址,您可以改为指定一个块 使用 CIDR 表示法的 IP 地址。例如,允许所有 IP 从 10.1.2.0 到 10.1.2.255 的地址,您可以将 10.1.2.0/24 添加到 您的白名单。

我有一个稍微不同的问题,但谷歌将我带到这里,我遇到的错误是:

"无法验证回调 URL 或验证令牌。请验证提供的信息或稍后重试。

尝试将脸书网络钩子连接到我的本地主机时。事实证明,我需要对我的 ngrok 代理进行身份验证: https://dashboard.ngrok.com/get-started/your-authtoken

切换您的 ngrok 服务器位置,它也ngrok http 3000 --region ap对我有用。

ngrok http -region us 80(美国不工作) Ngrok HTTP -EU 80 地区 ngrok HTTP -region ap 80 ngrok HTTP -region au 80

最新更新