Apache正在執行但伺服器沒有響應?
我的伺服器上安裝了全新的 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
但在本地執行此操作時得到響應,則很明顯表明某些東西(很可能是防火牆)正在阻止訪問。