我的IDE是Pycharm。 我想在本地测试我的应用程序,所以我在本地运行我的服务并使用ngrok将我的应用程序暴露给Internet。
ngrok显示的网址为https://436cb7e9.ngrok.io
但是当我想验证facebook webhook回调网址时,请使用上面的网址,显示
ERROR 2017-12-27 08:16:37,407 wsgi_server.py:329]请求主机436cb7e9.ngrok.io未列入白名单。已设置启用的主机(['localhost'])
我之前运行的应用程序很好,但我不知道为什么这次显示错误。 有人能给我建议吗?
答案 0 :(得分:6)
经过一番挖掘并感谢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(编写本评论时的最新版本)似乎正常。
答案 1 :(得分:0)
通过ngrok信息中心的Auth
标签完成。来自IP Whitelisting Tunnel Access:
您可以将帐户中的隧道端点列入白名单。该 白名单由ngrok.com服务器强制执行。它适用于全球 到你的所有隧道端点。任何传入连接到任何 检查您的隧道端点以保证源IP 连接的地址匹配您的至少一个条目 白名单。如果连接与白名单不匹配 立即终止,从未转发给ngrok客户。
作为一种特殊情况,如果您的白名单为空,则所有连接都是 允许强>
管理白名单
您可以在auth tab of your ngrok上管理IP白名单 仪表板。在" IP白名单"下输入新的IP地址。部分和 然后单击添加白名单条目。 IP白名单的更改可以 需要30秒才能生效。
IP范围
有时,您可能希望将整个IP范围列入白名单。代替 只输入一个IP地址,您可以改为指定一个块 使用CIDR notation的IP地址。例如,允许所有IP 从10.1.2.0到10.1.2.255的地址,你要添加10.1.2.0/24 你的白名单。