如何修復WordPress網站Cloudflare 502 bad gateway錯誤

錯誤型別:
HTTP錯誤
錯誤名稱:
502错误网关
英文名稱:
502 bad gateway
錯誤描述:
502 bad gateway错误会时不时地弹出,这通常意味着您的服务器有问题。

502 bad gateway錯誤修復

執行網站最令人沮喪的方面之一是在您不知道錯誤發生的原因時必須對其進行故障排除。某些問題(例如502 bad gateway錯誤)有許多潛在原因。這意味著您可能需要嘗試多種解決方案,然後才能找到正確的解決方案。在這篇文章中,我們將向您展示如何導航並解決這個棘手的錯誤。

什麼是502 bad gateway錯誤(以及為什麼會發生)

502 bad gateway

502 bad gateway錯誤會時不時地彈出,這通常意味著您的伺服器有問題。

當您訪問一個網站時,您的瀏覽器會向託管該網站的伺服器傳送一個或多個請求。如果一切正常,該伺服器將發回您的瀏覽器要求的資訊,然後網站將載入。另一方面,當伺服器發回“無效”響應時,會發生502 bad gateway錯誤。這可能意味著連線超時,或者可能是其他幾個問題的結果。

來自Mozilla Developer Network,官方定義是:

超文字傳輸​​協議 (HTTP) 502錯誤閘道器伺服器錯誤響應程式碼表示伺服器在充當閘道器或代理時收到來自上游伺服器的無效響應。

到目前為止,這聽起來可能很簡單。但是,您的瀏覽器和大多數網站之間的連線不像以前那麼簡單了。例如,您的瀏覽器的請求可能會在到達相關主機之前通過代理伺服器進行路由,因此可能很難確定問題所在的位置。許多網站還使用多個伺服器,這使事情變得更加複雜,因為其中任何一個都可能是502錯誤的原因。

所有這些都意味著這個特定的錯誤程式碼有一些潛在的原因。這可能是以下結果:

  • 資料庫中的錯誤。
  • 超時、當前不可用或無法按預期工作的伺服器。
  • 伺服器因請求過多而過載。也許是DDOS攻擊,或者甚至只是比預期更大的流量高峰。
  • 您的反向代理伺服器有問題。
  • 錯誤的PHP指令碼,由您的外掛或主題之一提供。

好訊息是,如果問題出在伺服器端,您可能不需要採取任何措施。在這些情況下,您的託管服務提供商通常會迅速採取行動(因為客戶往往不喜歡停機時間)。在收到您的網站受到 502 錯誤影響的通知後,您應該確保儘快聯絡您的主機的支援團隊。

考慮到這一點,我們將重點關注如果502 Bad Gateway錯誤不會自行迅速消失該怎麼辦。畢竟,大多數網站無法承受一次停機數小時,因此,如果此錯誤持續存在,則是時候開始進行故障排除了。

如何修復502 Bad Gateway錯誤

在您進入故障排除模式之前,您可以執行一項快速測試來確定您的伺服器是否正常響應。您可以嘗試執行traceroute,以首先檢視您的伺服器是否可以訪問。如果是,那麼問題可能出在你的身上。如果沒有,此時您可能需要與您的託管服務提供商取得聯絡。

您還應該嘗試重置您的路由器,並檢查您的域名系統 (DNS)設定。這些是有時可以使502錯誤消失的基本修復,而且它們很容易由您自己解決。但是,如果您發現兩種解決方案都無法解決問題,則可以使用以下方法來解決502錯誤。

1. 重新整理網頁並嘗試不同的瀏覽器

我們總是應該從最簡單的解決方案入手。502 Bad Gateway 錯誤可能是一個臨時問題。例如,網路伺服器可能在幾分鐘內負荷過重或流量短暫激增。

請嘗試等待幾分鐘並重新整理頁面。如果還不行,可以嘗試使用不同的瀏覽器訪問同一網站。如果有效,那麼問題可能出在原來的瀏覽器上。如果頁面仍然打不開,則可能是網站本身的問題。

另一種確定問題是出在自己還是網站伺服器的方法是使用 “Down for Everyone or Just Me” 或 “Is It Down Right Now” 等工具來確認問題是出在自己還是網站主機。

Down for Everyone or Just Me

使用這些工具之一就能確定網站的狀態。如果不是所有人的網站都癱瘓了,則需要在自己的網站上排除故障,下面的前幾個步驟會對排除故障有所幫助。如果您的網站對所有人都是癱瘓的,您需要檢查網站的後臺以找到問題的根源,這將在本篇文章的後面部分討論。

2. 使用其他裝置進行測試

假設您一直在使用電腦和網際網路服務提供商,請嘗試用手機訪問您的網站。首先,進入手機設定並關閉 Wifi,然後確保啟用了移動資料。如果您能訪問網站,說明問題出在您自己身上,重啟網路可能會解決問題。

要重啟網路,請先關閉電腦,然後拔下調變解調器和路由器的插頭。如果您的調變解調器和 Wifi 路由器是一體的,請拔掉插頭,等待大約一分鐘,然後插入調變解調器,讓它重新啟動。然後插入路由器,讓它重新啟動。如果您有整合硬體,請將其插入並讓其啟動。

最後,啟動電腦並嘗試訪問您的網站。

3. 清除瀏覽器快取

當您嘗試訪問您的網站時,即使根本問題已得到解決,也可能會出現502錯誤。如果您的瀏覽器依賴其快取,而不是從伺服器載入最新版本的站點,則會發生這種情況。

簡單地重新載入站點幾次通常可以解決問題。特別是如果您通過Windows上的 Shift-CTRL-R 或 Mac上的 Shift-CMD-R 使用強制重新載入。

如果以上所有方法都失敗,您應該繼續手動清空瀏覽器的快取。Chrome使用者可以通過導航到“設定”>“高階”選單並找到“清除瀏覽資料”選項來執行此操作:

清除瀏覽資料

在“基本”選項卡下查詢“快取影象和檔案選項,選擇後單擊“清除資料”。請記住,如果您在單擊“清除資料”按鈕之前未禁用該設定,則此選單還將刪除您的瀏覽歷史記錄。

同樣的過程也可以使用FirefoxSafariInternet Explorer以及幾乎任何其他瀏覽器來完成。清除快取後,再次嘗試重新載入您的網站。如果錯誤仍然存​​在,就該嚴肅對待了。有關清除快取的更多資訊,您可以在Hubspot主題的中心頁面上找到它。

4. 重新整理DNS快取

502 Bad Gateway 錯誤也可能是由域名系統(DNS)問題引起的。例如,如果您剛剛將網站遷移到一個新的虛擬主機,傳播過程可能需要 48 小時。

不過,問題也可能源於本地 DNS 快取。裝置上的這個臨時儲存空間包含以前訪問過的域名資訊。

如果您使用的是 Windows 系統,可以使用命令提示符重新整理 DNS 快取。要訪問它,請在工作列的 Windows 搜尋中輸入 “CMD”,然後按 Enter。

現在您就可以訪問命令提示符了。

Windows命令提示符

開啟 “命令提示符” 對話方塊後,複製或鍵入以下命令:

ipconfig /flushdns

讓它執行。完成後,你會看到一條資訊,上面寫著 “Successfully flushed the DNS resolver Cache”。

DNS 解析器快取

如果使用的是 Mac 作業系統,請在終端中輸入或複製以下命令。

dscacheutil -flushcache

如果您不習慣使用上述兩種方法,也可以使用第三方服務(如 Google Public DNS)臨時更改 DNS 伺服器。

5. 暫時禁用CDN

之前,我們提到您的瀏覽器請求有時會通過反向代理伺服器進行路由。換句話說,使用代理伺服器在使用者的瀏覽器和網站的伺服器之間放置了一箇中介。

某些服務,例如內容交付網路 (CDN),依靠反向代理技術儘可能有效地路由傳入流量。但是,有時當您嘗試連線到網站的源伺服器時,這個額外的層會產生問題。發生這種情況時,您的訪問者(和您)可能會遇到可怕的502錯誤閘道器。

幸運的是,檢查並檢視您的CDN是否導致此問題很容易。您所要做的就是暫時禁用該服務,然後在沒有它的情況下測試您的網站是否可以正確載入。禁用CDN的過程因您使用的服務而異,但通常很簡單。

例如,Cloudflare使用者只需導航到儀表板中的Overview選項卡。在裡面,您會找到執行服務的屬性列表。然後,您需要在“Pause Website部分中查詢大的“Pause按鈕,然後單擊它:

禁用CDN

現在,當您嘗試訪問您的網站時,其源站伺服器將響應該請求,而不會受到任何中間人的阻礙。如果502錯誤消失,那麼您的CDN可能是問題的根源。在大多數情況下,您只需等待幾個小時即可重新啟用該服務。當然,一定要檢查並確保之後錯誤仍然消失。

如果您使用其他CDN,則需要檢視其文件以獲取有關如何暫時禁用該服務的說明。但是,如果您的CDN不是問題,那麼您可以嘗試另一種修復方法。

6. 檢查網站的錯誤日誌

如果每個人的網站都癱瘓了,而且問題出在本地,您還可以檢查網站的錯誤日誌,這可能會幫助您找出問題的原因。例如,它可能將外掛衝突或更新標記為 502 Bad Gateway 錯誤的源頭。

您可以通過安全檔案傳輸協議 (SFTP) 客戶端(如 WinSCPSmartFTP)訪問網站的日誌檔案。

7. 測試WordPress主題和外掛

到目前為止,我們已經討論了502錯誤背後的三個潛在原因:您的伺服器、您的瀏覽器和CDN等中間人服務。如果您確定問題出在您的一端,那就只有一種選擇,那就是您的網站。如果您專門執行WordPress,您的外掛或主題之一可能會嘗試執行您的伺服器無法正確載入的指令碼。當您的瀏覽器傳送請求時,這可能會導致無效響應,從而觸發502錯誤。

您一次只能有一個活動主題,因此您可以簡單地停用當前主題並暫時切換到預設的WordPress主題,看看是否能解決錯誤。另一方面,確定外掛是否導致問題可能需要更多時間,具體取決於當前活動的外掛數量。

由於該錯誤,您目前無法訪問儀表板,因此您需要手動禁用外掛和主題。請記住,此過程不涉及刪除外掛和主題,重新啟用它們只需要片刻時間。因此,您網站的功能不應該受到影響。即便如此,您還是應該準備好最近的備份以防萬一。

然後,開啟您選擇的 FTP 客戶端。我們習慣性使用FileZilla,下面也將使用它作為示例。通過FTP登入您的網站,然後導航到public_html – wp-content – plugins資料夾。每個安裝的外掛都應該有一個資料夾——即使是那些不活動的外掛:

禁用WP外掛

如果您右鍵單擊這些資料夾中的任何一個,您將看到多個選項,包括一個標記為Rename 的選項。現在單擊它,並將資料夾的名稱更改為disabled.pluginname 之類的名稱:

禁用WP外掛2

當您現在訪問您的網站時,WordPress將無法找到該外掛,因此它會在沒有它的情況下載入。如果您剛剛停用的外掛導致502錯誤,您的網站應該可以正確載入。為確定起見,請記住在重新載入站點之前使用 CTRL + F5 命令(或OS X等效命令)強制瀏覽器刪除其快取。

為避免混淆,您應該一次對一個外掛進行故障排除。更改資料夾的名稱,嘗試重新載入您的網站,看看它是否仍然顯示 502 錯誤。如果是,請恢復資料夾的原始名稱。對每個資料夾重複此過程,直到找到導致錯誤的資料夾,或者直到您測試了每個外掛。您可以使用相同的過程來測試您的活動主題,這將強制WordPress使用其預設主題之一。

如果你的外掛或主題之一導致502錯誤,你可以完全刪除它,並尋找一個替代品。如果它已過時,您也可以嘗試更新它,看看是否能解決問題。在某些情況下,問題指令碼會很快得到修補,因此您以後可以隨時繼續使用該外掛或主題。

8. 重啟PHP並增加PHP限制

502 閘道器錯誤也可能是 PHP 超時引起的。當 PHP 程序耗時超過最大載入時間,請求超時時就會發生這種情況。

重啟 PHP 可能有助於解決連線問題。大多數主機都提供了通過控制面板重啟服務的選項,但如果您沒有看到該選項,您可能需要要求他們為您重啟服務。

不幸的是,更改伺服器的 max_execution_time 或 max_input_time 值可能是必要的。預設情況下,WordPress 將這些值設定為 300 秒,但您可以通過主機的控制面板增加 PHP 的執行時間,或者聯絡他們的技術支援,讓他們為您做這件事。

9. 聯絡主機提供商

如果您已經完成了前面的步驟,但仍無任何幫助,那麼是時候考慮聯絡您的託管服務提供商了。可能是伺服器問題影響了您的網站。不幸的是,如果是這種情況,除了等待他們修復之外,你什麼也做不了。

此外,他們也許可以確定 502 Bad Gateway 錯誤的來源,並指導您解決問題。許多主機提供 24/7 全天候聊天支援,應該能夠快速解決問題。

其他快速(潛在)修復

現在,如果502錯誤是由您端的某些原因而不是伺服器端引起的,則上述這些修復程式可能會找到並修復罪魁禍首。如果它沒有消失,請記住,我們建議您聯絡您的網路主機,讓他們對伺服器進行分類並診斷那裡的任何問題。

也就是說,您可以通過執行一些快速檢查來幫助加快流程。

這些檢查中的第一個是您的站點可能已儲存的任何日誌。如果是WordPress,則有多種檢視方式。我們有一篇關於使用這些日誌來改進您的網站的可靠文章,在這裡可能會有所幫助。執行5.0或更高版本的WP站點配備了站點執行狀況工具,您可以在管理儀表板中檢視該工具,因此請確保您瞭解它的內容。

您還可以確保瀏覽器的cookie是清晰的。這些與快取完全分開,我們並不總是想清除它們。如果您將任何資訊儲存在瀏覽器中,這會將其清除。但是這些相同的cookie也可能對您和這些站點之間的連線進行502,因此它可以是Catch-22。無論哪種方式,在任何主要瀏覽器中清除cookie都非常容易。

如果您的網站停止執行,則可能是後臺有些內容需要更多時間來執行。您可以通過編輯您的functions.php檔案來增加WordPress站點允許的執行時間。如果您不在WP上,您也可以通過.htaccessphp.ini來完成。Thimpress有一個關於如何完成這一切的很好的指南

最後,您可以檢查DNS錯誤。這意味著您已經移動了主機或更改為不同型別的計劃或伺服器本身。您可能已經調整了名稱伺服器或任何可能出錯的事情。DNS設定非常具體,容易出現配置錯誤。因此,進入您的cPanel或儀表板,確保您的主機和域註冊商之間的所有內容以及您網站本身的設定都一致。有時,電線被交叉或一個錯字會阻止其軌道上的一切。在這裡進行一點 DNS 校對可以大有幫助。

如果您真的有興趣確保您的DNS正常,您可以啟動終端並手動重新整理您的DNS快取

小結

對WordPress錯誤進行故障排除通常比您想象的要容易。即使是有很多潛在原因的問題,例如502錯誤閘道器錯誤,也得到了很好的理解和記錄。在找到一個可行的解決方案之前,您可能需要嘗試多種解決方案,但如果您按照正確的說明進行操作,故障排除過程應該不會花費太長時間。

如果您在網站上遇到502 bad gateway錯誤,並且幾分鐘後仍未消失,則問題很可能出在您的身上。只需完成我們上面提到的流程和技巧,您和您的使用者就會立即回到您的網站上。

評論留言