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

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

我的服务器上安装了全新 Fedora 15,但它给我带来了麻烦。

我遇到的第一个问题是 httpd 无法启动。我一直收到段错误错误,系统管理员最终将其追溯到 mod_perl 的问题,因此他删除了 mod_perl,然后 httpd 就可以正常启动了。

不过,最近我遇到了另一个非常令人烦恼的问题:我没有收到 Apache 的回应。

  • 我可以通过 SSH 连接到我的服务器
  • 我找到了正确的 IP 地址
  • 它发出声音
  • httpd 服务已启动并正在运行
  • 我在 webroot 中有一个 index.html 文件
  • 如果我通过 SSH 进入服务器本身时 wget XX.XXX.XXX.XXX(服务器的 IP 地址),我会得到一个响应

但无论我从哪台计算机向服务器发出请求,无论 ISP 是谁,我都得不到任何响应 - Chrome 说它甚至无法连接。我对如何修复它感到非常困惑,而且我已经多次向系统管理员发过牢骚了。我的机器人团队从一家公司免费获得了这个服务器空间,我喜欢尽可能少地向系统管理员发牢骚,但如果这个问题没有得到任何解决方案,我想我就不得不这样做了。

谢谢你的帮助。

答案1

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

使用以下方法暂时禁用防火墙:

service iptables stop

如果它有效,那么您就知道需要在防火墙中添加一条规则以允许端口 80 和/或 443。

答案2

在 CentOS 7 或类似系统上,检查您是否正在运行firewalld:

systemctl status firewalld

Ubuntu 有联邦快递这是更友好的界面iptablesman ufw详情请参阅。

如果看到服务正在运行,则可以通过添加http服务来打开端口 80,具体方法如下root 用户

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

顺便说一句,我曾经在一台机器上安装了 CentOS 7 minimal,默认情况下没有安装防火墙。但在另一台机器上使用另一个 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 ip-address
Host is up (0.0011s latency).
PORT   STATE SERVICE
80/tcp open  http

如果你看到已过滤代替打开,毫无疑问是防火墙。如果你打开了多个终端,请仔细检查你是否在正确的机器上!

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

curl localhost

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

curl 1.2.3.4     # use the actual host's IP address

这也应该返回主页。如果您必须按 CTRL+C 因为它在等待,或者如果您收到错误,Failed to connect to 1.2.3.4 port 80: No route to host但在本地执行时得到了响应,这显然表明有东西(很可能是防火墙)阻止了访问。

相关内容