我的本地网络上有一台装有 OS X 10.8.4 的 mac-mini(2009 年秋季),并且在端口 5000(或任何其他端口)上运行一个简单的 http 服务器。
我已关闭防火墙。我可以通过 ssh 连接到 Mac 并对其进行 ping 操作。
我可以使用连接到 http 服务器
curl 127.0.0.1:5000
...I get the data...
但是如果我使用本地路由器分配给这台 Mac 的 IP,我就无法连接到该端口。例如:
$ curl -v 192.168.178.26:5000
* About to connect() to 192.168.178.26 port 5000 (#0)
* Trying 192.168.178.26...
* Connection refused
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host
这在本地机器上不起作用,在远程机器上也不起作用。
然而这是可行的:
$ ssh 192.168.178.26
Last login: ....
防火墙关闭:
$ defaults read /usr/libexec/ApplicationFirewall/com.apple.alf.plist firewallunload
0
ipfw 似乎没问题:
$ sudo ipfw show
65535 0 0 allow ip from any to any
有趣的是,如果我在同一网络的 MacBookPro 上运行相同的 http 服务器,我就可以连接......
问题可能出在哪里?我该如何调试它?
答案1
检查您的网络服务器是否不仅仅监听 127.0.0.1,如果是,请将其设置为 0.0.0.0 以监听所有接口(或您的网络公共地址 - 192.168.178.26),以便可以从网络上的其他机器访问它。