Apache运行但服务器没有响应?

我在服务器上安装了新的Fedora 15,这给我带来了麻烦。

我的第一个问题是,httpd不会启动。 我一直得到一个错误,说有一个segfault,系统pipe理员最终追溯到mod_perl的问题,所以他删除它,httpd开始罚款。

但是最近我又遇到了另一个令人头疼的问题:我没有得到Apache的回应。

  • 我可以SSH到我的服务器
  • 我有正确的IP地址
  • 它ping
  • httpd服务已启动并正在运行
  • 我在webroot中有一个index.html文件
  • 如果我SSH.d进入服务器本身wget XX.XXX.XXX.XXX(服务器的IP地址),我得到一个响应

但是每当我从任何一台计算机向服务器发出请求,无论ISP如何,我都没有得到任何回应 – Chrome说它甚至无法连接。 我完全不知道如何解决这个问题,而且我已经对系统pipe理员进行了一些调查。 我的机器人团队从公司获得这个服务器空间,我喜欢尽可能less地将系统pipe理员误解为这样的事情,但是我想如果这个问题没有提出任何解决scheme,我将不得不这样做。

谢谢你的帮助。

听起来像是一个防火墙问题,如果wget从命令行工作。

使用以下命令临时禁用防火墙:

service iptables stop 

如果有效,那么你知道你需要添加一个规则到你的防火墙允许端口80和/或443。

在CentOS 7上禁用防火墙:

 systemctl stop firewalld 

当然,在生产环境中,您需要将防火墙configuration为接受端口80的连接,而不是停止连接。

顺便说一下,我曾经在一台机器上安装过CentOS 7,并且默认情况下没有安装防火墙。 但在另一台机器上使用另一个ISO,它自己安装。 我一直在检查错误的,这告诉我没有防火墙!

一个有用的命令,会告诉你,这绝对是防火墙是nmap:

 sudo nmap -sS -O -p80 ip-address Starting Nmap 7.01 ( https://nmap.org ) at 2017-08-11 15:56 IST Nmap scan report for itools (ip-address) Host is up (0.0011s latency). PORT STATE SERVICE 80/tcp open http 

如果你看到过滤,而不是打开 ,毫无疑问,防火墙。 如果您有多个terminal打开,仔细检查您是否在正确的机器!

从terminal检查的另一个快速方法是使用curl。 在服务器上:

 curl localhost 

这应该返回主页。 在networking上的另一台机器上:

 curl ip-address 

这也应该返回主页。 如果你必须按CTRL + C,因为它在等待,但在本地执行时得到响应,这是一个明显的迹象表明,某些(很可能是防火墙)阻止访问。