在我的办公室里,我有一台新安装的服务器和 15 台客户端计算机。在我的服务器计算机中,我安装了 Apache Web 服务器,该服务器运行正常,没有任何中断。但客户端计算机找不到我的服务器的 Apache Web 服务器。以下是详细信息:
Server Machine IP : 192.168.0.1
Client Machine IP : 192.168.0.10 - 192.168.0.25
我使用以下命令从我的服务器查看我的 Apache 服务器: http://本地主机/ http://192.168.0.1/ http://127.0.0.1/
我使用客户端机器上的以下命令查看我的 Apache 服务器: http://192.168.0.1/
但是从我的客户端机器上我无法找到我的服务器机器的 apache 服务器。
谁能回答我,我的错是什么?
答案1
您没有说您是在 Linux 还是 Windows 上运行,这将会很有帮助。
这种问题听起来就像是服务器上有一个防火墙阻止了端口 80(HTTP)上的传入流量。
答案2
您没有提供太多信息。首先,“无法找到”是什么意思?您什么都没得到吗?您看到错误页面了吗?您得到的内容不是您预期的吗?您的错误和访问日志说了什么?它们有来自客户端的任何连接吗?如果有,它们会显示错误吗?
在这种情况下,您需要分解可能的问题并进行检查以隔离单个问题。
从服务器计算机:首先检查错误日志。它们是否指示任何连接?如果没有,则可能是网络错误。如果它们确实显示连接,那么它说明了什么?
检查配置文件 httpd.conf。您是否有任何限制部分?
从服务器上,您可以 ping 客户端计算机吗?客户端计算机可以 ping 服务器计算机吗?首先检查是否存在一般网络问题。您没有提到服务器计算机运行的是什么操作系统,服务器上是否有其他可供客户端计算机使用的服务(如文件共享)?
在服务器机器上(再次强调,您没有提到操作系统),您应该执行 netstat 并查看哪些套接字正在侦听。端口 80 是否处于侦听状态?它侦听所有接口 (*) 还是仅侦听 127.0.0.1?如果仅在 127.0.0.1 上侦听,则客户端永远无法看到它,您需要更改配置。
如果它启动并且看到它正在监听所有接口,请转到客户端机器,使用原始 HTTP 来验证连接。
telnet 192.168.0.1 80
您是否收到任何连接指示?或者只是等待,然后超时。如果超时,可能是防火墙出了问题,需要配置服务器操作系统。如果连接成功,请对主页进行简单的 HTTP 请求,
GET / HTTP/1.0
[return]
[return]
你得到了什么吗?响应代码是什么(搜索 HTTP 响应代码以查看所有响应代码)。是权限问题吗?是授权问题吗?
返回服务器。检查服务器上的日志,发现有什么新东西吗?
这应该足以找出您的问题。您确实需要为您的问题收集更多信息。