有啥方法可以访问本地网络中的 GAE 开发应用服务器吗?
Posted
技术标签:
【中文标题】有啥方法可以访问本地网络中的 GAE 开发应用服务器吗?【英文标题】:Is there any way to access GAE dev app server in the local network?有什么方法可以访问本地网络中的 GAE 开发应用服务器吗? 【发布时间】:2011-11-23 23:59:00 【问题描述】:如果我在运行服务器的同一台 Win 7 PC 上通过 http://localhost:8080 访问我的网站,那么它运行良好。
如果我尝试从另一台 PC 访问它(使用我内部 PC 的 ip http://192.168.1.98:8080),那么它不起作用。此外,即使在同一台机器上,也无法使用此 ip 访问它。我做错了什么?
(我尝试在我的 Win 7 PC 上禁用防火墙 - 它没有帮助)
【问题讨论】:
Can access AppEngine SDK sites via local ip-address when localhost works just fine and a MacOSX的可能重复 已更改为 0.0.0.0,我将LOCAL_APP_ENGINE_SERVER_URL
设置为什么?在android中我的意思是
【参考方案1】:
我正在使用 Eclipse。
我尝试添加--address=0.0.0.0
,但对我不起作用。
然后我从命令行参数中删除了--port=8888
实体 => 服务器在默认端口 8080 上运行,只有这样团队成员才能通过我的 IP 地址连接到我的机器。
最后,尝试删除端口实体并添加--address=0.0.0.0
实体,如早期帖子中所述
【讨论】:
【参考方案2】:命令行
传递这个程序参数:
--address=0.0.0.0
日食
使用这个额外的程序参数启动您的开发服务器(您可以在 eclipse 的“调试配置”下找到它):
--address=0.0.0.0
分级
如果你使用 appengine-gradle-plugin +2.0.0,那么你需要这样设置:
appengine
host = "0.0.0.0"
port = 8888
...
如果你使用的是 2.0.0 之前的 appengine gradle 插件,那么你需要这样设置:
appengine
httpAddress = "0.0.0.0"
httpPort = 8888
...
Maven
<configuration>
<address>0.0.0.0</address>
...
【讨论】:
【参考方案3】:如果使用 GWT,请添加此程序参数
-bindAddress 0.0.0.0
【讨论】:
【参考方案4】:要从任何机器(PC/Mobile)通过 LAN 访问 GAE 开发服务器(Local Sever),您需要将应用引擎配置为接受来自任何 ip 的请求,如下所示;
运行配置 -> 参数 -> 程序参数
--address=0.0.0.0 port=8181
注意:您可以使用任何可用的端口。
完成此操作后,您只需输入 PC 的 IP 地址和以上配置的端口即可访问此本地服务器;
http://192.168.1.102:8181/
【讨论】:
【参考方案5】:-bindAddress 0.0.0.0
是我需要的。我在 -port arg 之前添加了它。这是通过 Eclipse
【讨论】:
【参考方案6】:第 1 步:获取 LAN IP
转到您的 Windows 命令控制台(按 Win+R,然后键入“cmd”)。在控制台中,输入“ipconfig”。您将看到一个显示列表。在无线 LAN 适配器 Wi-Fi 下,获取 IPv4 地址。它将是 192.168.x.x
局域网IP:192.168.x.x
第 2 步:
进入 Eclipse,打开配置好的服务器
在GAE开发服务器属性->要绑定的本地接口地址,输入局域网IP地址,保存。
第 3 步:
现在您可以通过
访问GAE服务器了http://192.168.x.x:8888/
8888 - 指端口号,在 GAE 开发服务器中提到
【讨论】:
【参考方案7】:在 Gradle 构建文件中:
appengine
httpAddress = "0.0.0.0"
(Gradle App Engine plugin)
【讨论】:
【参考方案8】:我使用上面关于 --host=0.0.0.0 的建议让它工作了。 步骤如下。
-
在项目中转到编辑 > 应用程序设置
添加到额外的命令行标志
【讨论】:
嘿,谢谢,当我在 3 月份(版本 1.9.34)在笔记本上设置 GAE 启动器时,这对我有帮助!但是,当我尝试在 1.9.38 版的新笔记本上执行相同操作时,单击“更新”没有任何作用。如果有人可以确认它仍然适用于较新的版本并且我没有做愚蠢的事情,我将不胜感激。【参考方案9】:如果你是通过 maven add 运行 devserver
<address>0.0.0.0</address>
根据你的
<configuration>
您的 appengine-maven-plugin 中的部分。
【讨论】:
希望我早点看到这个。查看all options here。【参考方案10】:对于 Google App Engine 1.8.9(仅限 Java),为所有接口添加 -a 0.0.0.0 对我有用。
-a 0.0.0.0 --port=8888 "/home/dude/workspace-java/me.dude.thermo-AppEngine/war"
【讨论】:
这呈现:dev_appserver.py: error: unrecognized arguments: -a
我的回答仅适用于 Java。答案已更新。谢谢。【参考方案11】:
Eclipse 用户可以在 GUI 中执行以下操作来实现Command-Line Arguments:
右键单击项目名称 -> 调试方式(或运行方式) -> 配置... -> 参数
在程序参数区域替换
--port=8888
与
--port=8888 --host=0.0.0.0
或
--port=8888 --address=0.0.0.0
取决于 AppEngine SDK 版本,然后还要检查端口可用性和软件防火墙设置。
【讨论】:
【参考方案12】:首先检查您的服务器是否在环回或所有接口上进行侦听 - 在netstat -an
的命令行类型中找到端口为 8080 的行并声明为 LISTENING,如下所示:
TCP 0.0.0.0:8080 0.0.0.0:0 监听
如果 IP 为 0.0.0.0,则意味着它侦听所有 IP 地址,问题在于其他东西阻止了它。
如果 IP 是 127.0.0.1 那么你需要绑定到 0.0.0.0 地址。现在有趣的人 - 根据documentation,您应该将--address=0.0.0.0
或--host=0.0.0.0
添加到运行配置中的参数(取决于GAE 版本-谢谢@momijigari)。但在我的情况下,我也有 GWT,参数转到 GWT,它不接受这个参数。但另一方面,监听所有接口,我个人试图将其更改为 localhost。虽然 GWT 有 -bindAddress
参数,但它只设置代码服务器的地址(默认为 9997 端口),而不是 HTTP。
【讨论】:
谢谢,--address=0.0.0.0
的使用帮助了。
请注意,较新版本的应用引擎开发服务器使用 --host 而不是 --address
我在尝试此“dev_appserver.py: error: unrecognized arguments: --address=0.0.0.0 2014-01-17 20:42:57 (Process exited with code 2) 时遇到错误”
我使用的是 gae 1.8.9 版,--address=0.0.0.0
成功了
对于新的 Google App Engine SDK(版本 1.9.20)--host=0.0.0.0
是正确的参数【参考方案13】:
小更新。从 1.8.7 版本开始,您必须设置参数“--host”而不是“--address”
所以只需添加 --host=0.0.0.0
【讨论】:
在 1.8.9 版中,Command-Line Arguments 文档说“--address”。 在 1.9.6 上为我工作以上是关于有啥方法可以访问本地网络中的 GAE 开发应用服务器吗?的主要内容,如果未能解决你的问题,请参考以下文章
win7位 连接共享打印机 0x00000043报错,本地端口添加被拒绝访问。有啥解决方法吗?
本地 GAE java 开发服务器的 Google Pub/Sub 测试策略
运行 GAE 开发服务器时,本地 MySQLdb 连接失败并出现 AttributeError for paramstyle