从网络中的另一台计算机访问本地 GAE SDK 服务器
Posted
技术标签:
【中文标题】从网络中的另一台计算机访问本地 GAE SDK 服务器【英文标题】:Accessing local GAE SDK server from another computer in the network 【发布时间】:2011-03-30 14:20:49 【问题描述】:我有开发服务器(来自 google appengine sdk),在我的 Ubuntu 计算机上运行。我可以通过导航到 localhost:8080 访问我的网站
我想从网络中的另一台计算机(使用 Vista 操作系统)访问该站点。
ifconfig 打印以下内容 (sn-p):
eth1 链路封装:以太网 HWaddr 00:1f:e1:c5:30:cf inet 地址:192.168.1.103 广播:192.168.1.255 掩码:255.255.255.0 inet6 地址:fe80::21f:e1ff:fec5:30cf/64 范围:链接 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX 数据包:39204 错误:0 丢弃:0 超限:0 帧:46271 TX 数据包:26198 错误:6 丢弃:0 超限:0 运营商:0 碰撞:0 txqueuelen:1000 RX 字节:25876770 (25.8 MB) TX 字节:4566161 (4.5 MB) 中断:17 基地址:0xc000
我认为我应该在我的第二台机器上输入http://192.168.1.103:8080 来访问服务器,但这不起作用。
我可以在我的家庭网络中成功共享文件,所以我的 Vista 机器可以浏览我的 Ubuntu 机器中的一些目录,但我无法访问服务器。
接下来我应该尝试什么?我必须以某种方式配置路由器吗?
提前致谢。
【问题讨论】:
您是否尝试过 ping 机器作为健全性检查? 发现这个问题的人可能对How do I connect to this localhost from another computer on the same network?感兴趣。 【参考方案1】:如果您使用的是 Python:
sudo python2.5 dev_appserver.py -a 192.168.1.103 -p 8080 myapp/
编辑: 开发服务器也恰好默认监听 8080 端口,所以第二个参数是多余的。
【讨论】:
确实:您可能至少有 两个 网络接口正在运行:eth1(IP 地址为 192.168.1.103)和环回接口(IP 地址为 127.0.0.1) .所以你必须确保你的应用程序绑定到 192.168.1.103 (eth1) 而不是 127.0.0.1(从盒子外面看不到的环回接口) 非常感谢!它现在工作正常。只是一个小提示:命令中有一个错字。它应该是: sudo python dev_appserver.py -a 192.168.1.103 -p 8080 myapp/ 再次感谢你们。 啊,谢谢!我遇到了同样的问题,'-a' 标志解决了它! 对我来说,norkben 的“-a 0.0.0.0”建议效果很好(在 Mac、OS X Lion 上运行 GAE 开发服务器),而且更简单,因为不需要输入确切的 IP在 dev_appserver-command 中。 好答案。尽管我也不得不使用 norskben 的建议。我正在通过 VirtualBox 作为虚拟机运行 ubuntu 12.04。绑定到确切地址会导致错误“无法绑定到地址”。使用 -a 0.0.0.0 可以解决问题。【参考方案2】:第一个检查确实是 ping 检查
ping 192.168.1.103
正如 Andre Holzner 所说,我也有同样的可能性。您可以通过打开文件 /etc/hosts 轻松检查这一点。 sudo vi /etc/hosts
。
如果您看到以下条目,
127.0.0.1 本地主机 localhost.localdomain
192.168.1.103
然后只需注释第一行并重新启动您的 Web 应用程序。
检查现在是否可以通过其他机器连接。
【讨论】:
【参考方案3】:对于 appengine 特定的解决方案,请参阅:http://thecoderscanon.com/?p=115。
只需添加额外标志:“-a 0.0.0.0”
【讨论】:
【参考方案4】:确保您在 Ubuntu 的防火墙设置中打开了端口 8080。
这很可能是您的 linux 机器上的防火墙问题。
【讨论】:
Ubuntu 默认没有防火墙...所以我不确定以上是关于从网络中的另一台计算机访问本地 GAE SDK 服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何从同一网络中的另一台计算机访问我的 nodejs-express localhost 服务器?