Web服务器无法访问其他LAN上的系统

我试图testing通过我的Mac上的nginx服务的网站。 事情工作得很好,访问同一台Mac上的服务器,但是当我试图通过Mac的IP地址从同一个广域网上的几台Windows机器上得到它时,我永远无法超越“这个页面无法显示”。 我很确定这曾经工作…

在Windows计算机上使用IE和Telnet尝试访问我的服务器都失败。 但是,如果我在OS X的“系统偏好设置”的“networking”窗格中打开Windows共享,则可以访问文件系统,因此我知道这不是我的整个Mac无法访问。

我认为这可能是一个防火墙的事情,但我检查,并确认我的无线路由器没有启用防火墙。 OS X有一个防火墙,但nginx有一个洞,并且完全禁用OS X防火墙对于任何事情都毫无帮助。

在我的Mac上,当我尝试从Windows机器访问服务器时,我可以看到没有任何内容被添加到nginx的错误或访问日志中,所以我假设无论在networking层中发生了什么。

我是一个networking新手,不知道下一步要做什么。 任何提示接下来要尝试什么将不胜感激。

我不是一个nginx的专家,但networking服务器可能只能在回环接口(127.0.0.1)而不是在以太网接口上进行监听。 尝试侦听*来匹配所有的接口。

更多信息在这里: http : //wiki.nginx.org/HttpCoreModule#listen

您可以使用NETSTAT命令检查服务器是否正在侦听所有可用的IP地址。 这是一个链接,告诉你如何做到这一点(有很多,只是谷歌):

http://od-eon.com/blogs/calvin/list-open-ports-mac-os-x/

你要确保某个IP地址是0.0.0.0(这意味着所有可用的IP)或你的networkingIP

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 

如果你没有看到类似的东西,那么你可能需要检查nginx被configuration为将自己绑定到所有可用的IP地址。 要做到这一点,你需要看看最有可能被称为nginx.conf(我的/ opt / nginx / conf,你可能会不同)configuration文件,也是sites.conf文件(通常是虚拟主机存储在这里)。

在其中一个文件中,您应该有一个用花括号包裹的服务器部分。 在这里你应该看到一个listen指令。 它应该希望像这样说

 listen 80; 

如果它不能发布的configuration,所以我们可以看到他们?

如果你已经检查了上面的两个项目,并且你有一些在端口80上侦听的东西,并且nginx被configuration为侦听请求,那么我们将不得不做一些额外的debugging!