有没有办法在本地网络中访问GAE dev app服务器?

时间:2011-09-23 21:18:16

标签: google-app-engine local-network

如果我通过http://localhost:8080从运行服务器的同一台Win 7 PC访问我的网站,那么它运行良好。

如果我尝试从另一台PC访问(使用我的内部PC的ip http://192.168.1.98:8080),那么它不起作用。而且,即使在同一台机器上也无法通过此ip访问它。我做错了什么?

(我试图在我的Win 7 PC上禁用防火墙 - 它没有帮助)

13 个答案:

答案 0 :(得分:86)

首先检查您的服务器是在环回还是在所有接口上进行侦听 - 在netstat -an中的命令行类型中找到一个端口为8080且状态为LISTENING的行,如下所示:

  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING

如果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。

答案 1 :(得分:20)

命令行

传递此程序参数:

<img style="position: fixed; width: ...">

的Eclipse

使用这个额外的程序参数启动你的d​​ev服务器(你可以在eclipse中的“debug configurations”下找到它):

--address=0.0.0.0

摇篮

如果你正在使用appengine-gradle-plugin +2.0.0,那么你需要像这样设置:

--address=0.0.0.0

如果你在版本2.0.0之前使用appengine gradle插件,那么你需要像这样设置:

appengine {
    host = "0.0.0.0"
    port = 8888
    ...

的Maven

appengine {
    httpAddress = "0.0.0.0"
    httpPort = 8888
    ...

答案 2 :(得分:18)

小更新。从版本1.8.7开始,你必须设置一个参数“--host”而不是“--address”

所以只需添加 - host = 0.0.0.0

答案 3 :(得分:4)

如果您通过maven add

运行devserver
<address>0.0.0.0</address>

下的

<configuration> 
你的appengine-maven-plugin中的

部分。

答案 4 :(得分:4)

我使用上面的建议--host = 0.0.0.0。 以下是步骤。

  1. 在项目中,转到编辑&gt;应用程序设置
  2. 添加到额外命令行标志
  3. Google App Engine Settings

    Added Extra Command Line Flags

答案 5 :(得分:3)

对于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"

答案 6 :(得分:2)

在Gradle构建文件中:

appengine {
    httpAddress = "0.0.0.0"
}

Gradle App Engine plugin

答案 7 :(得分:1)

Eclipse用户可以在GUI中执行以下操作来实现Command-Line Arguments

右键点击项目名称 - &gt;调试为(或运行方式) - &gt;配置...... - &gt;参数

在程序参数区域中替换

--port=8888

--port=8888 --host=0.0.0.0

--port=8888 --address=0.0.0.0

取决于AppEngine SDK版本,然后还要检查端口可用性和软件防火墙设置。

答案 8 :(得分:0)

我正在使用Eclipse。我试图添加--address = 0.0.0.0,但它对我不起作用。然后我从命令行参数=&gt;中删除了'--port = 8888'实体服务器在默认端口8080上运行,然后团队成员才能通过我的IP地址连接到我的机器。

最后,尝试删除端口实体并添加--address = 0.0.0.0实体,如早期帖子中所述

答案 9 :(得分:0)

第1步:获取LAN IP

转到Windows命令控制台(按Win + R,然后键入&#34; cmd&#34;)。在控制台中,输入&#34; ipconfig&#34;。您将看到显示列表。在无线LAN适配器Wi-Fi下,获取IPv4地址。它将是192.168.x.x

LAN IP:192.168.x.x

第2步:

转到Eclipse,打开已配置的服务器

GAE Development server config

在GAE开发服务器的属性下 - &gt;要绑定的本地接口地址,输入LAN IP地址,然后保存。

第3步:

现在您可以通过

访问GAE服务器

http://192.168.x.x:8888/

8888 - 参考GAE开发服务器

中提到的端口号

答案 10 :(得分:0)

-bindAddress 0.0.0.0

是我需要的。我在-port arg之前添加了它。这是通过Eclipse

答案 11 :(得分:0)

要从任何计算机(PC / Mobile)访问具有LAN的GAE开发服务器(本地服务器),您需要将应用引擎配置为接受来自任何IP的请求,如下所示;

运行配置 - &gt;参数 - &gt;程序参数

- 地址= 0.0.0.0端口= 8181

注意:您可以使用任何可用的端口。

enter image description here

完成此操作后,您只需输入PC的IP地址和以上配置的端口即可访问本地服务器;

http://192.168.1.102:8181/

enter image description here

答案 12 :(得分:0)

如果使用GWT,请添加此程序参数

{{1}}