无法连接到OSX上的本地IP地址

时间:2010-03-09 07:42:47

标签: macos webserver local connect

我正在尝试连接到我的mac OSX 1.6上运行的网络服务器。我可以使用http://127.0.0.1:8888/myapp在本地连接到它但当我尝试使用我的机器的本地IP地址(如下所示的http://192.168.1.15:8888/myapp IP)从同一台机器(或网络上的其他机器)连接到它时我无法连接。我可以ping通局域网IP地址。

我已经尝试将IP转发添加到我的路由器端口8888,但它没有帮助。 我已经检查过并且OSX防火墙已被禁用

有人可以建议阻止连接的其他内容吗?

这是我运行ifconfig时得到的结果:

~ :ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:1f:5b:e8:16:4d 
    media: autoselect status: inactive
    supported media: autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <full-duplex> 10baseT/UTP <full-duplex,hw-loopback> 10baseT/UTP <full-duplex,flow-control> 100baseTX <half-duplex> 100baseTX <full-duplex> 100baseTX <full-duplex,hw-loopback> 100baseTX <full-duplex,flow-control> 1000baseT <full-duplex> 1000baseT <full-duplex,hw-loopback> 1000baseT <full-duplex,flow-control> none
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet6 fe80::21e:c2ff:febf:4809%en1 prefixlen 64 scopeid 0x5 
    inet 192.168.1.15 netmask 0xffffff00 broadcast 192.168.1.255
    ether 00:1e:c2:bf:48:09 
    media: autoselect status: active
    supported media: autoselect
fw0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 4078
    lladdr 00:1f:5b:ff:fe:2b:b3:3c 
    media: autoselect <full-duplex> status: inactive
    supported media: autoselect <full-duplex>
en5: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
    ether 00:1e:c2:8e:0f:45 
    media: autoselect status: inactive
    supported media: none autoselect 10baseT/UTP <half-duplex>
en2: flags=8922<BROADCAST,SMART,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    ether 00:1c:42:00:00:00 
    media: autoselect status: inactive
    supported media: autoselect
en3: flags=8922<BROADCAST,SMART,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    ether 00:1c:42:00:00:01 
    media: autoselect status: inactive
    supported media: autoselect

4 个答案:

答案 0 :(得分:2)

默认情况下,您的网络服务器可能绑定到环回接口。应用程序可以“绑定”到特定接口 - 如果它只侦听环回接口,您将能够通过127.x.x.x ip而不是外部ip连接。您可以查看“网络实用程序” - &gt; Netstat - &gt;显示所有套接字连接的状态,它将显示所有打开的套接字。进一步调试将需要相关的行(可能是端口8888上的那个)以及可能正在运行的Web服务器...

答案 1 :(得分:1)

这对我来说很好,然后它突然停止了工作。我不相信我在运行/调试配置中改变了任何东西,但也许我做了。

无论如何,答案是将--address = 0.0.0.0参数添加到Run / Debug配置中。要做到这一点:

  1. 右键单击您的项目。
  2. 选择运行方式... - &gt;运行配置
  3. 确保在“运行配置”对话框中选择了项目,然后选择“参数”选项卡。
  4. 插入参数: - address = 0.0.0.0
  5. 正如我所说的那样,这对我来说是正常的,而且在我记得之前我还没有设置这个参数。无论如何,我添加了它,现在一切正常。

    TR

答案 2 :(得分:0)

除非这与编程相关,否则此问题可能属于ServerFault或SuperUser。

在任何情况下,如果您在Mac OS上编写应用程序,可能需要指定 应用程序正在侦听的确切接口。

答案 3 :(得分:-1)

BTW - 我认为这是用户错误。我想我可能在托管模式下使用Firefox插件运行GWT。没有运行或监听端口8888的网络服务器,这就是它没有出现的原因!