Httpd

Apache正在執行但伺服器沒有響應?

  • January 10, 2022

我的伺服器上安裝了全新的 Fedora 15,這給我帶來了麻煩。

我的第一個問題是 httpd 無法啟動。我不斷收到一個錯誤,指出存在段錯誤,系統管理員最終將其追溯到 mod_perl 的問題,因此他將其刪除並且 httpd 開始正常。

不過,我最近遇到了另一個非常令人煩惱的問題:我沒有收到 Apache 的回复。

  • 我可以通過 SSH 連接到我的伺服器
  • 我有正確的 IP 地址
  • 它ping
  • httpd 服務已啟動並正在執行
  • 我在 webroot 中有一個 index.html 文件
  • 如果我在 SSH 連接到伺服器本身時得到 XX.XXX.XXX.XXX(伺服器的 IP 地址),我會收到響應

但是每當我從任何電腦向伺服器發出請求時,無論 ISP 是什麼,我都沒有得到任何響應——Chrome 說它甚至無法連接。我對如何修復它感到非常困惑,而且我已經對系統管理員產生了很多困擾。我的機器人團隊從一家公司免費獲得了這個伺服器空間,我喜歡盡可能少地對系統管理員提出此類問題,但我想如果這個問題沒有找到任何解決方案,我將不得不這樣做。

謝謝你的幫助。

如果 wget 從命令行工作,聽起來像是防火牆問題。

使用以下命令暫時禁用防火牆:

service iptables stop

如果它有效,那麼您知道您需要向防火牆添加規則以允許埠 80 和/或 443。

在 CentOS 7 或類似系統上,檢查您是否正在執行 firewalld:

systemctl status firewalld

Ubuntu 有ufw,它是一個更友好的iptables. 詳情請參閱man ufw

如果您看到該服務正在執行,您可以按照root 使用者http的說明通過添加該服務來打開 80 埠:

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

順便說一句,我曾經在一台機器上安裝了 CentOS 7 minimum,並且預設情況下沒有安裝防火牆。但是在另一台機器上使用另一個 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

如果您看到filters而不是open,則毫無疑問是防火牆。如果您打開了多個終端,請仔細檢查您是否使用正確的機器!

從終端檢查的另一種快速方法是使用 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但在本地執行此操作時得到響應,則很明顯表明某些東西(很可能是防火牆)正在阻止訪問。

引用自:https://serverfault.com/questions/319318