通過(guò)服務(wù)器日志解決 Error 521 報(bào)錯(cuò)的方法

你正在用 Cloudflare 給自己的網(wǎng)站加速,突然彈出一個(gè)“Error 521 – Web Server Is Down”的頁(yè)面,這其實(shí)是個(gè)挺常見(jiàn)的問(wèn)題,要搞清楚發(fā)生了什么面,就去看服務(wù)器日志。

圖片[1]-通過(guò)服務(wù)器日志解決 Error 521 報(bào)錯(cuò)的方法

什么是 Error 521?

Cloudflare 已經(jīng)成功聯(lián)系上了你的服務(wù)器 IP,但服務(wù)器沒(méi)給它任何回應(yīng),像是“門口有人敲門,屋里沒(méi)人答應(yīng)”。大概率是以下幾種情況:

  • 服務(wù)器的 Web 服務(wù)(比如 Nginx 或 Apache)沒(méi)啟動(dòng)
  • 防火墻把 Cloudflare 的 IP 攔了
  • 端口沒(méi)開(kāi)放
  • 有個(gè)配置出錯(cuò)導(dǎo)致請(qǐng)求直接被拒絕

接下來(lái)咱們看日志怎么一步步幫你揭開(kāi)謎底。

第一步:確定你在哪種環(huán)境下運(yùn)行網(wǎng)站

這個(gè)很關(guān)鍵。不同環(huán)境,日志位置也不一樣。

  • 如果你用的是寶塔面板,日志可以在網(wǎng)站管理頁(yè)面找到
圖片[2]-通過(guò)服務(wù)器日志解決 Error 521 報(bào)錯(cuò)的方法
  • 如果是 VPS,自建 Nginx 或 Apache,一般日志在 /var/log/nginx//var/log/apache2/
  • 如果你用的是虛擬主機(jī),可能得登錄控制面板找“錯(cuò)誤日志”或“Raw Logs”這類入口
圖片[3]-通過(guò)服務(wù)器日志解決 Error 521 報(bào)錯(cuò)的方法

總之,搞清楚你的 Web 服務(wù)軟件和系統(tǒng)架構(gòu),才能順利找日志。

第二步:看訪問(wèn)日志 access.log

這個(gè)日志記錄的是“誰(shuí)訪問(wèn)了你的網(wǎng)站”和“訪問(wèn)結(jié)果”。

圖片[4]-通過(guò)服務(wù)器日志解決 Error 521 報(bào)錯(cuò)的方法

你可以用命令查看最近幾分鐘的請(qǐng)求:

tail -n 100 /var/log/nginx/access.log

如果你發(fā)現(xiàn) Cloudflare 的 IP 發(fā)出請(qǐng)求了,但服務(wù)器返回了 502、499 或直接沒(méi)有響應(yīng),那么說(shuō)明請(qǐng)求到了,但沒(méi)被處理好。

第三步:重點(diǎn)查看錯(cuò)誤日志 error.log

這才是排查 Error 521 的重頭戲。

看命令:

tail -n 100 /var/log/nginx/error.log

你可能會(huì)看到類似的內(nèi)容:

[error] 12345#0: *67 connect() failed (111: Connection refused) while connecting to upstream

看到這句“Connection refused”了嗎?就是服務(wù)器不理 Cloudflare 的根本原因。

或者還有這種:

[crit] 23456#0: *89 SSL_do_handshake() failed

這就可能是 SSL 設(shè)置有問(wèn)題,Cloudflare 和服務(wù)器之間的 HTTPS 沒(méi)辦法連接。

第四步:對(duì)照時(shí)間點(diǎn)找線索

你不可能從一大堆日志中翻完所有內(nèi)容。所以你要做的是:

  1. 記下出現(xiàn) Error 521 的大概時(shí)間
  2. 去日志里搜索那個(gè)時(shí)間點(diǎn)附近的記錄
  3. 看看有沒(méi)有特別頻繁的請(qǐng)求、異常的狀態(tài)碼、重啟記錄等

這時(shí)候如果你看到某個(gè)插件請(qǐng)求太頻繁、某個(gè)端口報(bào)錯(cuò),那就基本鎖定問(wèn)題范圍了。

第五步:防火墻和端口也查一查

別光盯著日志,有時(shí)候是服務(wù)器攔了 Cloudflare 的 IP。你可以看看你的防火墻設(shè)置:sudo ufw status

或者:iptables -L

確認(rèn) 80 和 443 是開(kāi)放的,同時(shí)確保沒(méi)有把 Cloudflare 的 IP 段封掉。

圖片[5]-通過(guò)服務(wù)器日志解決 Error 521 報(bào)錯(cuò)的方法

Cloudflare 的官方文檔有所有 IP 段列表建議直接全加白名單。

圖片[6]-通過(guò)服務(wù)器日志解決 Error 521 報(bào)錯(cuò)的方法

第六步:重啟一下 Web 服務(wù)試試看

有時(shí)候 Web 服務(wù)突然掛掉了,簡(jiǎn)單一招就能搞定:

sudo systemctl restart nginx

或者用 Apache:

sudo systemctl restart apache2

重啟之后再看看日志,有沒(méi)有新的提示。

第七步:開(kāi)啟更詳細(xì)的日志(可選)

如果普通日志看不出問(wèn)題,可以臨時(shí)提高日志級(jí)別,比如把 nginx 的日志級(jí)別設(shè)成 debug,再重現(xiàn)一次訪問(wèn)異常,再回來(lái)看日志,很可能就能看到關(guān)鍵線索了。

當(dāng)然,調(diào)試完記得改回去,不然日志會(huì)瘋狂占用硬盤(pán)空間。

總結(jié)

解決 Error 521 的核心就是搞清楚你用的是什么服務(wù)器,找到 access.log 和 error.log,鎖定出問(wèn)題的時(shí)間點(diǎn),然后順著信息一點(diǎn)點(diǎn)往下查。配合重啟服務(wù)、檢查防火墻、白名單設(shè)置,基本都能搞定。


聯(lián)系我們
教程看不懂?聯(lián)系我們?yōu)槟赓M(fèi)解答!免費(fèi)助力個(gè)人,小企站點(diǎn)!
客服微信
客服微信
電話:020-2206-9892
QQ咨詢:1025174874
郵件:info@361sale.com
工作時(shí)間:周一至周五,9:30-18:30,節(jié)假日休息
? 轉(zhuǎn)載聲明
本文作者:小Lin
THE END
喜歡就支持一下吧
點(diǎn)贊1489 分享
評(píng)論 搶沙發(fā)

請(qǐng)登錄后發(fā)表評(píng)論

    暫無(wú)評(píng)論內(nèi)容