66

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

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

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

4

13 回答 13

88

首先检查您的服务器是否在环回或所有接口上进行侦听 - 在命令行类型中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 地址。现在有趣的是 - 根据文档,您应该在运行配置中添加--address=0.0.0.0--host=0.0.0.0参数(取决于 GAE 版本 - 谢谢@momijigari)。但在我的情况下,我也有 GWT,参数转到 GWT,它不接受这个参数。但另一方面,监听所有接口,我个人试图将其更改为 localhost。GWT-bindAddress虽然有参数,但它只设置代码服务器的地址(默认为 9997 端口),而不是 HTTP。

于 2011-09-23T21:54:03.680 回答
20

命令行

传递这个程序参数:

--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
    ...

马文

<configuration> 
    <address>0.0.0.0</address>
    ...
于 2015-06-01T16:45:42.580 回答
18

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

所以只需添加--host=0.0.0.0

于 2014-01-17T16:48:51.660 回答
5

我使用上面关于 --host=0.0.0.0 的建议让它工作了。以下是步骤。

  1. 在项目中转到编辑 > 应用程序设置
  2. 添加到额外的命令行标志

谷歌应用引擎设置

添加了额外的命令行标志

于 2015-01-12T09:31:53.977 回答
4

如果您通过 maven add 运行 devserver

<address>0.0.0.0</address>

根据你的

<configuration> 

appengine-maven-plugin 中的部分。

于 2014-07-22T19:11:27.750 回答
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"
于 2014-01-29T16:16:31.557 回答
2

在 Gradle 构建文件中:

appengine {
    httpAddress = "0.0.0.0"
}

Gradle App Engine 插件

于 2015-04-03T14:31:13.497 回答
1

Eclipse 用户可以在 GUI 中执行以下操作来实现命令行参数

右键单击项目名称 -> 调试方式(或运行方式) -> 配置... -> 参数

在程序参数区域替换

--port=8888

--port=8888 --host=0.0.0.0

或者

--port=8888 --address=0.0.0.0

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

于 2014-02-22T06:58:01.713 回答
0

我正在使用 Eclipse。

我已经尝试添加--address=0.0.0.0,但它对我不起作用。

然后我--port=8888从命令行参数中删除了实体 => 服务器在默认端口 8080 上运行,只有这样团队成员才能通过我的 IP 地址连接到我的机器。

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

于 2013-06-17T14:25:48.570 回答
0

第一步:获取局域网IP

转到您的 Windows 命令控制台(按 Win+R,然后键入“cmd”)。在控制台中,输入“ipconfig”。您将看到一个显示列表。在无线 LAN 适配器 Wi-Fi 下,获取 IPv4 地址。这将是 192.168.xx

局域网 IP:192.168.xx

第2步:

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

GAE 开发服务器配置

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

第 3 步:

现在您可以通过以下方式访问 GAE 服务器

http://192.168.xx:8888/

8888 - 指端口号,如 GAE 开发服务器中所述

于 2016-04-01T09:55:50.383 回答
0

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

-bindAddress 0.0.0.0
于 2018-06-14T11:01:33.697 回答
0

-绑定地址 0.0.0.0

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

于 2016-07-04T15:27:05.170 回答
0

要从任何机器(PC/Mobile)通过 LAN 访问 GAE 开发服务器(Local Sever),您需要将应用引擎配置为接受来自任何 ip 的请求,如下所示;

运行配置 -> 参数 -> 程序参数

--地址=0.0.0.0 端口=8181

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

在此处输入图像描述

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

http://192.168.1.102:8181/

在此处输入图像描述

于 2018-01-07T12:08:44.080 回答