在MacOSX上,当localhost正常工作时,能否通过本地IP地址访问AppEngine SDK站点

10 投票
5 回答
6776 浏览
提问于 2025-04-15 18:40

我可以通过本地的IP地址访问AppEngine SDK的网站,而在使用GoogleAppEngineLauncher的MacOSX上,localhost却能正常工作。

我正在尝试设置一个Facebook开发网站(使用一个指向我防火墙的dyndns.org主机名,这个防火墙会把请求转发到我的MacBook上)。

看起来GoogleAppEngineLauncher默认是使用localhost,并且直接阻止了通过IP地址的访问。 有没有办法改变GoogleAppEngineLauncher的这种行为呢? 这是谷歌内置的一种限制吗?

这似乎不是配置的问题,因为没有相关的设置可以调整。 所以我在想,可能需要修改源代码才能解决这个问题?

5 个回答

4

这可以通过给 dev_appserver.py 加上 -a 这个参数来实现,也就是你可以这样写:dev_appserver.py -a <你的IP> <你的应用>。想了解更多,可以看看这篇关于如何在 Google App Engine SDK 中使用公共 IP 地址的文章

5

对于使用Eclipse(PyDev)的朋友们,右键点击你的项目,选择运行方式 > 运行配置...

参数选项卡中,添加 -a 和 -p 这两个参数:

-a 0.0.0.0 -p 80 "${workspace_loc:project}"
9

根据最新的文档-a这个参数现在已经不再有效了。

现在你可以通过在dev_appserver.py命令中添加--host参数来实现这个功能。

命令格式是:dev_appserver --host=<你的_IP地址> <你的应用>

--host=
这个参数是用来指定服务器的主机地址的。如果你想从网络上的其他电脑访问开发服务器,可能需要设置这个地址。使用地址0.0.0.0可以同时允许本地访问和通过主机名访问。默认情况下是本地访问。

如果你想通过本地地址和IP地址都能访问开发服务器,可以使用这个命令:

dev_appserver.py --host=0.0.0.0 <你的应用>

撰写回答