我无法让Mac OS X Server的Web服务器接受来自同一LAN上其他计算机的连接。这是在OS X 10.8.2上,运行在最初与Lion Server一起提供的Mac mini上。
我可以从服务器本身连接到它,例如转到Safari http://localhost
或http://hostname.example.com
在Safari中。
请注意,通过框的域名连接起作用。这是因为:
$ netstat -na | grep 80.*LISTEN
tcp46 0 0 *.80 *.* LISTEN
也就是说,Apache正在监听所有接口,而不仅仅是lo
。
如果我telnet server 80
在客户机上同时进行数据包捕获,我只会看到重复的TCP SYN
数据包。(服务器角度,客户角度)
在“安全和隐私设置”窗格中禁用防火墙不会更改症状。
防火墙配置对我来说无害。(通过倾倒pfctl -sa
。)
我确定问题不在客户端。我试过从以下位置访问它:
- 一个月大的iMac超过GigE
- 一台2岁的MacBook Pro,通过WiFi
- 一款5年历史的上网本,通过GigE 和 WiFi 运行Ubuntu 12.04
这台服务器是无头的,我通过SSH和VNC从局域网上的客户端机器上完成所有工作。这意味着当我无法在TCP端口80上连接到此服务器时,我在TCP端口22和5900上成功使用它。这种行为导致我开始查看防火墙配置。
这是网络的样子:
有两个网络交换机,因为这个网络分布在两个房间,每个房间有一个交换机,在它们之间有一根电缆。我排除了托管交换机作为WiFi测试的问题来源。我通过从服务器到管理型交换机临时运行一根长电缆来免除哑巴开关。
电缆调制解调器和WiFi路由器(AirPort Extreme)都内置了4端口交换机,但每个端口只使用一个端口,因此没有流量通过它们并不是绝对必须的。两台路由器上的DHCP和缓存DNS服务器都已关闭,因为这些职责正在由相关服务器完成(成功!)。AirPort处于仅桥接模式。
是的,我重新启动了服务器。和客户。和路由器。和开关。:)
我最好的猜测是问题源于从Lion Server升级此框。如果是这样,完全重新安装将解决这个问题,但这违反了我所有的Unix服务器管理培训。如果可以的话,我想修复这台服务器。
sudo ipfw add 20000 allow tcp from any to any dst-port 80
。我很想接受你的答案,但这感觉就像是黑客而不是真正的解决方案。有什么我可以要求系统重建以将旧防火墙与新防火墙同步,或导致它停止使用旧防火墙?