虽然我的防火墙关闭了,但我无法连接 Mac 上的某些端口(Mountain Lion)

Mic*_*arf 5 firewall osx-mountain-lion macos

我的本地网络上有一台装有 OS X 10.8.4 的 mac-mini(2009 年秋季),我在端口 5000(或任何其他端口)上运行一个简单的 http 服务器。

我已经关闭了防火墙。我可以通过 ssh 连接到 mac 并对其进行 ping 操作。

我可以使用连接到 http 服务器

curl 127.0.0.1:5000 
...I get the data...
Run Code Online (Sandbox Code Playgroud)

但是如果我使用本地路由器分配给这台 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
Run Code Online (Sandbox Code Playgroud)

这不适用于本地机器,也不适用于远程机器。

但是这有效:

$ ssh 192.168.178.26
Last login: ....
Run Code Online (Sandbox Code Playgroud)

防火墙关闭:

$ defaults read /usr/libexec/ApplicationFirewall/com.apple.alf.plist firewallunload
0
Run Code Online (Sandbox Code Playgroud)

和 ipfw 似乎没问题:

$ sudo ipfw show
65535 0 0 allow ip from any to any
Run Code Online (Sandbox Code Playgroud)

有趣的是,如果我在同一网络上的 MacBookPro 上运行相同的 http-server,我可以连接....

问题出在哪里?我该如何调试它?

小智 6

检查您的网络服务器是否不仅在侦听 127.0.0.1,如果是,请将其设置为 0.0.0.0 以侦听所有接口(或您的网络公共地址 - 192.168.178.26),以便可以从网络上的其他机器访问它.