如何修復 Cloudflare 錯誤 521? 8種快速方法

已發表: 2023-12-29

如果您看到這篇文章,則表示您和您的網站訪客在 Web 瀏覽器上遇到了錯誤訊息,即「錯誤代碼 521 Cloudflare」或「錯誤 521:Web 伺服器已關閉」。

當來源 Web 伺服器拒絕來自 Cloudflare 的連線時,會發生錯誤 521。 它僅表明該網站遇到伺服器端問題,並且在與 Cloudflare 整合的網站中很常見。

我們知道此類停機會嚴重影響您的網站流量和收入,因此我們在這裡提出了一些簡單的解決方案來修復錯誤代碼 521 Cloudflare 及其真正含義。 那麼,事不宜遲,讓我們開始吧。


目錄
什麼是錯誤代碼 521?
521錯誤的原因是什麼?
如何修復錯誤代碼 521?
概括
經常問的問題

什麼是錯誤代碼 521?

錯誤代碼 521 表示 Cloudflare 無法存取來源伺服器或您的網站伺服器。 換句話說,您可以理解客戶端的請求已到達內容分發網路伺服器,但更進一步,CDN 或 Cloudflare 的請求已被網站伺服器/來源伺服器拒絕。

發生這種情況的原因如下:


521錯誤的原因是什麼?

以下是來源伺服器不接受 Cloudflare 請求的一些可能的錯誤。

1.伺服器配置不正確:伺服器必須正確配置才能與 CDN 配合使用,否則可能會觸發錯誤代碼 521。

2 . Web 伺服器離線:您的 Web 託管也可能遇到停機問題。 在這種情況下,Cloudflare 向伺服器發出的所有請求都會無效。 此外,如果 Nginx Web 伺服器突然停止運作,您可能會遇到「Web 伺服器已關閉,錯誤代碼 521 nginx」錯誤訊息。

專業提示:強烈建議您選擇更可靠、更高正常運作時間的網站寄存服務,例如 WPOven,其正常運作時間記錄高達 99.99%

3. 加密設定問題 Cloudflare 或 CDN 以其出色的安全功能而聞名,這要歸功於其 SSL 憑證和加密協定。 無論如何,如果您配置不正確,Web 伺服器或來源伺服器可能會阻止請求,從而導致錯誤 521。

4.伺服器阻止 Cloudflare IP 位址:當客戶端或使用者發出請求時,必須經過 Cloudflare IP 位址。 如果來源站伺服器或網站伺服器配置嚴格,它將阻止任何發送過多請求的 IP 位址。

5. DDoS 防護:如果您的網站受到 DDoS(即分散式阻斷服務)攻擊,網站伺服器也可能會阻止從 Cloudflare 接收的流量作為安全措施。


如何修復錯誤代碼 521?

現在您知道錯誤代碼 521 到底意味著什麼,是時候了解如何輕鬆修復它了。

  • 檢查您的網站是否在線
  • 查看 Cloudflare 加密設定
  • 檢查您的 Cloudflare DNS 設定
  • 將 Cloudflare IP 位址和連接埠列入白名單
  • 驗證 Mod_security
  • 禁用 mod_reqtimeout 和 mod_antiloris
  • 檢查軌道炮設置
  • 聯繫支援人員

1.檢查您的網站是否在線

由於錯誤代碼 521 與 Cloudflare 有關,Cloudflare 充當使用者和網站之間的橋樑。

用戶必須通過這座橋才能到達另一端的網站。 因此,如果您或您的訪客遇到錯誤代碼 521,您需要做的第一件事就是檢查來源伺服器是否在線上。

為此,您可以使用 cURL 來確定網站的 HTTP 狀態。 請依照以下步驟操作:

步驟 1:開啟命令提示字元(適用於 Windows 使用者)或終端機(macOS 或 Linux 使用者)。

步驟2:複製以下curl指令並將其貼到其中。

curl --silent --output /dev/null --write-out "%{http_code}" https://yourdomain.com

注意:此處將“https://yourdomain.com”替換為您的網站。

您將得到類似下圖的輸出。

 cURL command to check server status
cURL 指令檢查伺服器狀態

但是,如果您不喜歡使用命令提示字元或終端機來檢查標頭,我們有一個專用的 HTTP 標頭線上檢查工具。

或者,您也可以透過 PING 工具來檢查伺服器的狀態。

執行 ping 命令後,輸出如下所示。

PING command to see the status of Server
PING 指令查看伺服器狀態

在輸出中,您可以看到以下第一行包含伺服器的主機名稱和傳輸給它的位元組。

表示來自伺服器的回顯回复​​,通常由三個部分組成,即位元組、時間和TTL。

現在,資料包行指示傳輸、接收和遺失的資料包數量。 如果任何資料包顯示遺失,則表示有網路問題。

在 Ping 輸出中,最後一行顯示近似 RTT(以毫秒為單位)。 它表示連線速度,應該較低。 平均時間越短,與伺服器的連線速度就越快。

但假設 ping 結果或輸出顯示請求逾時訊息。 如果發生這種情況,很簡單,就是網域名稱不存在、網路卡故障、伺服器暫時宕機等各種問題。

2. 檢查 Cloudflare 加密設定

如果您尚未在 Cloudflare 帳戶中正確配置 SSL/TLS 設置,則可能會出現 521 個錯誤代碼。 出現此問題的原因是 Cloudflare 的加密模式促進了 CDN 和來源伺服器之間的連線。 如果設定不正確,來源 Web 伺服器可能會拒絕來自 Cloudflare 的連線。

Cloudflare encryption Settings
Cloudflare 加密設定

你會發現加密模式如下:

  • 關閉(不安全):此特定模式意味著 Cloudflare 不在訪客和 Cloudflare 網路之間提供任何加密或安全層。 一般用於那些與敏感資訊無關的網站。
  • 靈活的 SSL:此模式可協助 Cloudflare 加密訪客與 Cloudflare 之間的通訊。 但這裡有一個問題,Cloudflare 和 Web 來源伺服器之間的連線仍然未加密。
  • 完整 SSL:與靈活 SSL 不同,加密是端對端完成的。 這意味著 Cloudflare 會加密訪客與 Cloudflare 之間的通信,也會加密 Cloudflare 與來源伺服器之間的通訊。
  • 完整 SSL(嚴格):此模式與完整 SSL 模式相同,但具有額外的安全等級。 即來源伺服器還必須具有有效的 SSL 憑證以及 Cloudflare 上相符的網域名稱。

3. 檢查您的 Cloudflare DNS 設定

您的 Cloudflare DNS 設定也可能出現一些設定錯誤。 因此,您需要立即檢查並核實。

為此,請登入您的Cloudflare 帳戶 > yourdomain.com > DNS > 記錄。

在「記錄」頁面中,確保所有A記錄的內容包含相同的來源站IP位址,並且CNAME的內容應該是您的網域。

A records in Cloudflare
Cloudflare 中的 A 記錄

萬一您發現其中一筆記錄不匹配,您可以透過點擊編輯選項輕鬆對其進行更改。

4. 將 Cloudflare IP 位址和連接埠列入白名單

Cloudflare 充當私人防火牆和 Web 來源伺服器之間的中間人。 當使用者請求網頁時,每個請求都必須先經過 Cloudflare,然後透過一組特殊的 IP 位址傳送到來源伺服器。

但如果有任何因素幹擾 Cloudflare 和來源伺服器之間的通信,則會導致錯誤代碼 521。

出現此幹擾或問題的原因如下:

  • .htaccess 文件
  • IP 攔截器規則
  • 嚴格的防火牆規則
  • 安全插件
  • 用於 Cloudflare 與來源伺服器通訊的已停用連接埠

讓我們看看如何解決每一個問題。

4.1 檢查 .htaccess 檔案和防火牆規則以及白名單 Cloudflare IP 位址

您需要按照以下步驟將 Cloudflare IP 位址列入白名單。

A。 您需要做的第一件事是透過 FTP 用戶端或使用 cPanel 中的檔案管理器存取 .htaccess 檔案。

b. 現在在其中新增以下程式碼行,並新增以空格分隔的 IP 位址。

order deny, allow
deny from all

C。 現在儲存您的 .htaccess 文件,您就完成了。


注意:如果您不知道如何存取和編輯 .htaccess 文件,請查看我們的指南“WordPress .htaccess 文件:如何建立和編輯它?”


4.2 檢查您的 IP 攔截器設置

如果您的網站主機為您提供 cPanel 存取權限,則 IP 攔截器功能會對您非常有幫助。 它可以幫助網路管理員封鎖您網站上的特定 IP 位址或一系列 IP 位址。

IP Blocker
IP攔截器

如果您的網站由多個管理員管理,則有人可能會錯誤地將 Cloudflare IP 範圍新增至封鎖清單。 因此,您需要檢查 IP 攔截器設定並檢查這是否是問題所在。

4.3 停用您的安全插件

如果您使用任何安全插件,這也可能是阻止 Cloudflare 請求的原因。 為了消除您對是否是導致問題的疑問,最好先停用該插件,然後查看錯誤是否仍然存在。

如果錯誤消失,則表示該外掛程式是罪魁禍首,您應該聯絡外掛程式作者或嘗試其他外掛程式。

5. 驗證Mod_security

如果 Apache 的開源 Web 應用程式防火牆模組 Mod_security 充當來源伺服器的防火牆,且其設定不允許 Cloudflare 的請求,則可能會導致錯誤代碼 521。

如果這是原因,您需要確保使用最新版本的 mod_security 並正確配置其設定。

6. 停用 mod_reqtimeout 和 mod_antiloris

出於安全原因,您可能已在 Apache 伺服器中啟動 mod_reqtimeout 和 mod_antiloris 模組以防止 DDoS 或 DoS 攻擊。 這些模組會減少一段時間內 IP 伺服器與您的伺服器之間的連線數量。

毫無疑問,這些模組有助於保護您的伺服器免受這些攻擊,但它也可能導致與 Cloudflare 的兼容性問題,從而導致錯誤代碼 521。

要解決此問題,您能做的最好的事情就是停用並卸載這些模組。

7. 檢查 Railgun 設定

Railgun 是 Cloudflare 提供的一項 Web 最佳化技術,最適合用於加速動態內容的交付。
如果 Railgun 未正確配置,則會顯示錯誤訊息「錯誤 521: railgun.wan_error 連線失敗」。

因此,要解決此問題,請停用 Railgun 一段時間,以便您可以訪問網站並檢查配置。 如果您發現執行此操作有任何困難,請聯絡 Cloudflare 支援尋求協助。

8.聯繫支援人員

如果上述方法都無法幫助您修復錯誤 521,您可以做的最後但並非最不重要的一件事是聯絡 Cloudflare 支援。

如果網站伺服器發生故障,您可以聯絡您的網站寄存提供者並尋求協助。


概括

如果您經營一家線上商店或企業,那麼每一秒都很重要。 您不能簡單地離開您的網站,因為它會在螢幕上顯示錯誤代碼 521。 等待的時間越長,損失就越大。

因此,最好盡快採取以下故障排除方法:

1.檢查您的網站是否在線

2. 檢查 Cloudflare 加密設定

3. 檢查您的 Cloudflare DNS 設定

4. 將 Cloudflare IP 位址和連接埠列入白名單

5. 驗證Mod_security

6. 停用 mod_reqtimeout 和 mod_antiloris

7. 檢查 Railgun 設定

8.聯繫支援人員


經常問的問題

如何修復 521 錯誤?

修復錯誤代碼 521 的 8 種快速方法:
1.檢查您的網站是否在線
2. 檢查 Cloudflare 加密設定
3. 檢查您的 Cloudflare DNS 設定
4. 將 Cloudflare IP 位址和連接埠列入白名單
5. 驗證Mod_security
6. 停用 mod_reqtimeout 和 mod_antiloris
7. 檢查 Railgun 設定
8.聯繫支援人員

Chrome 上的錯誤代碼 521 是什麼?

錯誤代碼 521 表示 Cloudflare 無法存取來源伺服器或您的網站伺服器。 換句話說,您可以理解客戶端的請求已到達內容分發網路伺服器,但進一步理解 CDN 或 Cloudflare 的請求已被網站伺服器/來源伺服器拒絕。