在MacOSX上,当localhost正常工作时,能否通过本地IP地址访问AppEngine SDK站点
我可以通过本地的IP地址访问AppEngine SDK的网站,而在使用GoogleAppEngineLauncher的MacOSX上,localhost却能正常工作。
我正在尝试设置一个Facebook开发网站(使用一个指向我防火墙的dyndns.org主机名,这个防火墙会把请求转发到我的MacBook上)。
看起来GoogleAppEngineLauncher默认是使用localhost,并且直接阻止了通过IP地址的访问。 有没有办法改变GoogleAppEngineLauncher的这种行为呢? 这是谷歌内置的一种限制吗?
这似乎不是配置的问题,因为没有相关的设置可以调整。 所以我在想,可能需要修改源代码才能解决这个问题?
5 个回答
这可以通过给 dev_appserver.py
加上 -a
这个参数来实现,也就是你可以这样写:dev_appserver.py -a <你的IP> <你的应用>
。想了解更多,可以看看这篇关于如何在 Google App Engine SDK 中使用公共 IP 地址的文章。
对于使用Eclipse(PyDev)的朋友们,右键点击你的项目,选择运行方式 > 运行配置...
在参数选项卡中,添加 -a 和 -p 这两个参数:
-a 0.0.0.0 -p 80 "${workspace_loc:project}"
根据最新的文档,-a
这个参数现在已经不再有效了。
现在你可以通过在dev_appserver.py
命令中添加--host
参数来实现这个功能。
命令格式是:dev_appserver --host=<你的_IP地址> <你的应用>
--host=
这个参数是用来指定服务器的主机地址的。如果你想从网络上的其他电脑访问开发服务器,可能需要设置这个地址。使用地址0.0.0.0
可以同时允许本地访问和通过主机名访问。默认情况下是本地访问。
如果你想通过本地地址和IP地址都能访问开发服务器,可以使用这个命令:
dev_appserver.py --host=0.0.0.0 <你的应用>