在我的 Android 模拟器中,我能够联系 GAE 开发服务器。 我使用这个网址:“http://10.0.2.2:8080/myurl”。 服务器正在监听 http://127.0.0.1:8080 .
然后,在我使用 Google Play(API 27)将模拟器更新到 Nexus 5X 版本后,连接失败并且服务器显示此日志:
ERROR 2018-01-11 11:17:05,463 wsgi_server.py:329] Request Host 10.0.2.2 not whitelisted. Enabled hosts are set(['127.0.0.1'])
我将最新的 GAE python SDK 与 webapp2 一起使用。
关于如何解决这个问题有什么想法吗?
最佳答案
开发服务器的最新版本包括对传入请求的源 IP 地址的白名单检查。
您可以为 GAE devserver 使用 --enable_host_checking=False
命令行选项,它会禁用这些检查。如果您在不受信任的网络上运行,这不是一个好主意。
即使从同一台机器访问开发服务器,您也可能会看到此类错误。这些请求的另一种选择是使用 --host 10.0.2.2
devserver 选项(即使用您机器的外部 IP 地址而不是 localhost
/127.0.0.1
,但如果您在其他机器上运行模拟器,这对模拟器请求没有帮助。
理想情况下,恕我直言,白名单应该可以独立于服务器的 IP 地址进行管理,但这是目前可用的。
关于android - 模拟器无法连接到 Google App Engine 开发服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48204936/