如何解決 WordPress 出現 502 Bad Gateway Error 的問題?

當你遇到 502 Bad Gateway 錯誤,且無法登入/訪問 WordPress 網站時,不必擔心,502 Bad Gateway 是可以被修復的,透過下面的教學,會逐步幫助你排除 502 Bad Gateway 產生的原因與修復。

你正在後台調整WordPress 網站的外掛設定,一切看起來都很正常。按下儲存之後,重新整理首頁,畫面卻突然跳出一串令人頭痛的白色文字:502 Bad Gateway。整個網站打不開了,後台也進不去,心跳加速的同時腦袋一片空白。這大概是不少 WordPress 站長都有過的慘痛經歷。

別緊張。502 Bad Gateway 雖然看起來很嚇人,但在絕大多數情況下,它都是可以被修復的。這篇文章會從根本原因講起,帶你一步一步排除問題,不管你是剛開始用 WordPress 架站的新手,還是有多年經驗的老鳥,都能按照下面的方法把網站救回來。

在開始之前,如果你的網站也碰過其他類似的錯誤代碼,可以參考以下教學一起了解:

目錄

什麼是 502 Bad Gateway 錯誤?

要搞懂 502 Bad Gateway,我們先用一個簡單的比喻。想像你去一家餐廳吃飯:你(瀏覽器)向服務生(反向代理伺服器)點了一份牛排,服務生走到廚房(後端伺服器)去拿你的餐點,結果廚房毫無回應,或者傳回了一些亂七八糟的東西。服務生沒辦法,只好回到你面前說:「抱歉,廚房出了問題。」這個「抱歉」,就是 502 Bad Gateway。

在技術層面上,HTTP 狀態碼分為五大類。1xx 開頭的是資訊回應,2xx 代表成功(像是大家熟悉的 200 OK),3xx 是重新導向,4xx 是客戶端錯誤(比如 404 Not Found),而 5xx 則是伺服器端的問題。502 屬於 5xx 家族,具體的定義是:閘道器或代理伺服器在充当中介時,從上游伺服器接收到了無效的回應

在典型的 WordPress 架構中,這個流程是這樣的:訪客的瀏覽器發出請求,經過 DNS 解析後抵達你的伺服器。如果你的虛擬主機使用 Nginx 作為反向代理(現在非常普遍),Nginx 會把 PHP 相關的請求轉發給 PHP-FPM 處理,PHP-FPM 再去執行 WordPress 的程式碼。當 PHP-FPM 當掉了、回應超時了、或者傳回了格式錯誤的資料,Nginx 就會向瀏覽器回報 502 Bad Gateway。

這也是為什麼 502 錯誤的成因可以非常多元,任何一個環節出了問題,都可能觸發這個錯誤。好處是,只要你理解了這個基本架構,後續的排查就會有方向感得多。

常見的 502 Bad Gateway 錯誤訊息一覽

502 Bad Gateway 的錯誤頁面會根據你使用的瀏覽器、伺服器環境以及是否有使用 CDN 服務而有所不同。以下是你在網路上最常遇到的幾種 502 訊息:

瀏覽器顯示的 502 訊息

  • Chrome:「502. That’s an error. The server encountered a temporary error and could not complete your request. Please try again in 30 seconds.」
  • Firefox:「502 Bad Gateway」或「The proxy server received an invalid response from an upstream server.」
  • Safari:「Safari Can’t Open the Page」搭配 502 相關說明

CDN 服務商顯示的 502 訊息

  • Cloudflare:「502 Bad Gateway — The web server reported a bad gateway error.」通常帶有 Cloudflare 的品牌識別頁面
  • Sucuri / 其他 CDN:可能顯示「502 Proxy Error」或「HTTP 502」

伺服器環境的 502 訊息

  • Nginx:「502 Bad Gateway」配合 nginx/版本號的頁尾
  • Apache:「HTTP Error 502 – Bad Gateway」
  • 通用:Error 502、502 Server Error、502 Service Temporarily Overloaded

辨識這些訊息的差異其實很有用。如果錯誤頁面帶有 Cloudflare 的標誌,問題可能出在 CDN 層;如果看到 nginx 的頁尾,問題就比較可能在你的主機伺服器端。學會判讀這些線索,能幫你更快鎖定問題的源頭。

HTTP 5xx 錯誤對照表:500、502、503、504 差在哪裡?

很多站長碰到網站掛掉時,看到一串數字就慌了,分不清到底是哪種錯誤。其實 5xx 家族裡的每個成員都有明確的定義,搞懂它們之後,你就能更精準地判斷問題方向。下面這張表把最常見的四種伺服器錯誤整理在一起:

錯誤代碼名稱含義常見原因
500Internal Server Error伺服器遭遇未預期的錯誤,無法完成請求.htaccess 語法錯誤、PHP 程式碼異常、檔案權限設定不當
502Bad Gateway閘道器從上游伺服器收到無效回應PHP-FPM 當機、伺服器資源耗盡、上游服務未回應
503Service Unavailable伺服器暫時無法處理請求伺服器過載、維護模式、流量暴增超出負載
504Gateway Timeout閘道器等待上游伺服器回應超時PHP 執行時間過長、資料庫查詢卡住、外部 API 呼叫逾時

簡單來說:500 是伺服器自己出了差錯;502 是伺服器之間的溝通出了問題(上游沒回應或回應無效);503 是伺服器太忙暫時不接單;504 則是等太久了,乾脆放棄。了解了這些差異,你之後遇到類似錯誤時,就能更有針對性地去排查了。如果你的網站也遇到了資料庫連線錯誤,也可以參考我們的另一篇教學。

導致 WordPress 出現 502 Bad Gateway 的 7 大原因

在動手修復之前,先了解有哪些情況會觸發 502 錯誤,能幫你更快找到問題的癥結。以下是 WordPress 環境中最常見的 7 個原因:

原因 1:伺服器資源耗盡

這個原因大概最常見。當你的主機 CPU 使用率衝到 100%,或者記憶體被吃光時,PHP-FPM 就無法正常處理新的請求,Nginx 等不到回應就會回傳 502。這在低價共享主機上特別容易發生,一台上百個網站共用資源,任何一個網站流量暴衝,都可能拖累其他人。如果你的站已經成長到每日有幾千個訪客,卻還在使用最便宜的主機方案,那 502 可能只是遲早的事。

原因 2:PHP-FPM 當機或設定不當

PHP-FPM 是 WordPress 背後的執行引擎。如果 PHP-FPM 的進程數設定太少(pm.max_children 過低),或者每個進程分配的記憶體不夠,在流量高峰時就會出現排隊等待的情況,嚴重時直接 502。有些主機商的預設設定對 WordPress 來說並不充裕,需要手動調整。

原因 3:外掛衝突或程式碼錯誤

WordPress 外掛的品質參差不齊。一個寫得不好的外掛可能導致 PHP 致命錯誤,讓 PHP-FPM 進程崩潰。特別是快取類外掛安全類外掛、或者會大量查詢資料庫的外掛,它們的效能問題更容易把伺服器資源吃光。安裝新外掛或更新外掛版本後突然 502,是最典型的症狀。

原因 4:CDN 服務設定問題

如果你使用了Cloudflare 等 CDN 服務,多了一層代理,也就多了一個可能出問題的環節。CDN 服務商自身的伺服器故障、你的 DNS 設定不正確、或者 CDN 無法正確連線到你的主機,都可能觸發 502。判斷方式很簡單:如果錯誤頁面帶有 Cloudflare 的標誌,那就是 CDN 層的問題。你也可以搭配Cloudflare DNS 的設定一起檢查。

原因 5:PHP 版本不相容

WordPress 本身和許多外掛對 PHP 版本有最低要求。如果你的主機還在跑 PHP 7.2 甚至更舊的版本,而某個外掛需要 PHP 7.4 以上才能正常運作,就有可能產生致命錯誤導致 502。反過來說,升級 PHP 版本後某些老舊外掛沒跟上,也會出問題。這類狀況和WordPress 更新失敗的情境有些類似,都需要從版本相容性去著手。

原因 6:Nginx 或 Apache 設定錯誤

如果你有自行修改過伺服器設定檔(例如調整 Nginx 的 fastcgi_params 或 Apache 的 VirtualHost 設定),語法錯誤或邏輯問題都可能導致反向代理無法正確將請求轉發給 PHP。這類問題通常在修改設定後立即出現。碰到WordPress 無法正確顯示更新內容的問題時,有時也跟伺服器設定有關。

原因 7:虛擬主機商基礎設施故障

有時候問題根本不在你這邊。主機商進行伺服器維護、硬體故障、機房斷電等情況,都可能讓你的網站出現 502。這種時候你什麼都不用做,等待主機商修復就好,但前提是你要判斷出問題是出在他們身上。

了解了這 7 個常見原因,接下來我們就可以按圖索驥,逐步排除。值得一提的是,選擇一個穩定且口碑良好的 WordPress 主機,可以從根源上大幅降低 502 發生的機率。如果預算允許,Kinsta 這類高品質代管主機也是不錯的選擇,它們的基礎設施經過最佳化,對 WordPress 的相容性和穩定性都更好。如果你偏好台灣本土主機商,SiteGroundA2 Hosting 也各有各的優勢。

如何修復 WordPress 502 Bad Gateway?8 個實用解決方法

搞懂原因之後,就是動手修復的時候了。以下 8 個方法按照從簡單到複雜的順序排列,建議你從方法 1 開始嘗試,逐一排除。動手之前,有個重要提醒:務必先備份你的網站。可以使用 UpdraftPlus 等 WordPress 備份外掛,確保不管操作過程中發生什麼事,你都能把網站恢復原狀。

方法 1:強制重新整理網頁

聽起來很基本,但真的有時候就是這麼簡單。502 可能只是伺服器短暫的忙碌狀態,過幾秒就好了,但你的瀏覽器卻把錯誤頁面快取了起來。強制重新整理可以繞過本機快取,重新向伺服器發出請求。

操作方式很直覺:

  • Windows / Linux:按下 Ctrl + F5Ctrl + Shift + R
  • Mac:按下 Cmd + Shift + R

如果重新整理後網站恢復正常,那恭喜你,問題已經解決了。如果還是不行,繼續往下看。

方法 2:清除瀏覽器快取與 Cookie

比強制重新整理更徹底的做法,就是把瀏覽器累積的所有快取資料清乾淨。有時候快取的損壞檔案會持續讓你看到錯誤頁面,即使伺服器那邊已經恢復了。

在 Chrome 或 Firefox 中,按下 Ctrl + Shift + Delete(Mac 是 Cmd + Shift + Delete),會開啟「清除瀏覽資料」的視窗。建議選擇「所有時間」範圍,勾選「快取圖片和檔案」以及「Cookie 和其他網站資料」,然後按下清除。完成後重新訪問你的網站試試。

你也可以用無痕模式(Chrome)或隱私視窗(Firefox)開啟網站來測試。如果無痕模式能正常顯示,那問題就確定是瀏覽器快取造成的。

方法 3:透過 FTP 停用所有外掛

外掛衝突是 502 的常見原因之一。如果你還能進入 WordPress 後台,直接到「外掛」頁面,勾選所有外掛後選擇「停用」,然後重新整理前台看 502 是否消失。如果消失了,再逐一啟用外掛,找出是哪一個惹的禍。

但問題是,502 錯誤往往讓你連後台都進不去。這時候就需要透過 FTP 來操作了。你可以使用 Filester 等 WordPress 檔案管理外掛(前提是你之前有安裝),或者直接用 FTP 客戶端(像是 FileZilla)連上伺服器。連上後,找到 wp-content/plugins 這個資料夾,把它重新命名為 plugins-old。這樣一來,WordPress 就找不到外掛資料夾,所有外掛會被自動停用。

重新整理網站,如果 502 消失了,就把資料夾名稱改回 plugins,然後在後台一個一個重新啟用外掛,找出肇事者。

方法 4:切換至 WordPress 預設主題

如果停用所有外掛後 502 仍然存在,問題可能出在你的主題上。尤其是使用重度客製化的佈景主題或 付費主題時,主題本身的程式碼錯誤也可能導致 PHP 崩潰。

同樣透過 FTP,進入 wp-content/themes 資料夾,把你目前使用的主題資料夾重新命名(例如從 my-theme 改成 my-theme-old)。WordPress 找不到原本的主題時,會自動切換到預設的 Twenty Twenty-Four 等內建主題。如果 502 因此消失了,你就知道問題出在主題上。

方法 5:暫時關閉 CDN 服務

如果你使用了 Cloudflare 等 CDN 服務,問題可能出在 CDN 那一層。最簡單的嘗試方式是開啟 Cloudflare 的「開發者模式」(Development Mode),這會暫時繞過 CDN 快取,直接連線到你的主機。在 Cloudflare 控制台的「快取」→「設定」裡可以找到這個選項。

或者你也可以暫時把 Cloudflare 的 DNS 記錄從橘色雲朵(Proxied)切換成灰色雲朵(DNS Only),這樣所有流量就會直接指向你的主機,完全不經過 Cloudflare。如果繞過 CDN 後網站正常了,那就需要進一步檢查 Cloudflare 的設定是否有問題。如果你同時使用了 Cloudflare Turnstile 等功能,也要確認它們的設定沒有衝突。

方法 6:檢查 PHP 版本與記憶體限制

PHP 設定不當也是 502 的常見來源。你可以透過 WordPress 後台的「工具」→「網站狀態」→「資訊」來查看目前的 PHP 版本和記憶體限制。WordPress 官方建議使用 PHP 7.4 以上版本(最好是 8.x),並將記憶體限制設為至少 256MB。

如果你的主機控制台有提供 PHP 設定功能(cPanel 的 MultiPHP Manager、SiteGround 的 Site Tools 等),可以直接在那邊調整 PHP 版本和 memory_limit。你也可以在 wp-config.php 中加入以下程式碼來提高記憶體限制:

define('WP_MEMORY_LIMIT', '256M');

方法 7:查看伺服器錯誤日誌

如果前面的方法都試過了還是沒用,查看伺服器的錯誤日誌可以幫你找到問題的真正原因。日誌裡會記錄 PHP 致命錯誤、PHP-FPM 連線失敗等詳細資訊,比盲目嘗試有效率得多。具體的查看方式我們在下一個段落會詳細說明。

方法 8:聯繫虛擬主機商客服

當你已經嘗試了所有自助方法,問題還是無法解決,這時候就該找你的主機商了。好的主機商(像是 Bluehost、Kinsta、A2 Hosting)都有 24/7 的技術支援,他們可以直接查看伺服器端的日誌,幫你找出你看不到的問題。

在聯繫客服之前,建議你先準備好以下資訊:502 開始出現的時間、你是否在之前做了任何變更(更新外掛、修改設定等)、你已經嘗試過哪些排除方法。這些資訊能幫助客服人員更快定位問題。

你也可以先到主機商的官方 Facebook 粉絲專頁或主機狀態頁面看看是否有公告維護或故障資訊。如果確認是他們的基礎設施問題,通常幾分鐘到幾小時內就會修復。

如何透過伺服器日誌快速定位 502 原因

伺服器的錯誤日誌就像飛機的黑盒子,忠實記錄了每一次異常的細節。學會看日誌,你的除錯能力會從「亂槍打鳥」升級到「精準打擊」。

Nginx 環境的日誌位置

如果你的主機使用 Nginx,錯誤日誌通常在以下路徑:

  • /var/log/nginx/error.log(最常見)
  • /var/log/nginx/你的網域名稱.error.log(部分主機商的設定)

你可以透過 SSH 登入伺服器後,用 tail -n 50 /var/log/nginx/error.log 指令查看最近的 50 筆錯誤記錄。

Apache 環境的日誌位置

Apache 的錯誤日誌路徑因作業系統而異:

  • Ubuntu / Debian/var/log/apache2/error.log
  • CentOS / RHEL/var/log/httpd/error_log
  • cPanel 主機:可以在 cPanel 控制台的「Metrics」→「Errors」頁面直接查看

常見的日誌訊息解讀

以下是幾個你可能會在日誌中看到,與 502 相關的關鍵訊息:

  • recv() failed (104: Connection reset by peer):PHP-FPM 進程崩潰了,通常是因為記憶體不足或程式碼錯誤
  • upstream prematurely closed connection:上游伺服器(PHP-FPM)在回應完成前斷開了連線
  • connect() failed (111: Connection refused):PHP-FPM 服務根本沒在運作,可能已經當機了
  • PHP Fatal error: Allowed memory size exhausted:PHP 記憶體限制被吃光了

看到這些訊息後,你可以對照前面的 7 大原因,就能很快鎖定是哪個環節出了問題。如果你使用的是 SiteGround 或 Bluehost 等主流主機商,他們的控制台通常也提供了圖形化的日誌查看工具,不需要自己 SSH 進去翻檔案。

如何預防 502 Bad Gateway 錯誤再次發生?

修好一次 502 不難,難的是讓它不再出現。以下這些預防措施,是我在管理多個 WordPress 網站多年後累積下來的實戰經驗,確實能有效降低 502 的發生頻率。

選擇穩定的 WordPress 主機商

這是最根本的解法。便宜的低品質主機是 502 的溫床,資源限制嚴格、伺服器超賣、技術支援慢半拍。如果你的網站對你來說很重要,請認真考慮升級到品質更好的主機。Bluehost 是 WordPress 官方推薦的主機商之一,價格合理且穩定性不錯;如果你的預算比較充裕,Kinsta 提供的 Google Cloud Platform 代管服務在效能和穩定性上都非常出色。想全面比較各家方案,可以參考我們的WordPress 虛擬主機推薦懶人包。

定期更新 WordPress 核心與外掛

過時的 WordPress、外掛或主題版本,除了有安全風險之外,也可能與新版 PHP 不相容而導致致命錯誤。養成每週檢查一次更新的習慣,或者在後台設定自動更新。更新前記得先備份網站,這樣萬一更新出問題也能快速回復。

使用網站監控工具

你不可能 24 小時盯著自己的網站。透過 WP Umbrella 這類監控工具,當網站出現 502 或任何異常時,你會在第一時間收到通知(Email 或 Slack)。越早發現問題,就越能縮短網站無法訪問的時間。

最佳化網站效能

網站效能不佳會加重伺服器負擔,間接增加 502 的風險。你可以從幾個方向著手:使用 WP Rocket 等快取外掛來減少伺服器的動態請求量;啟用 GZIP 壓縮來減少傳輸資料量;將圖片轉換為 WebP 格式來降低圖片載入成本;也可以參考我們整理的WordPress 網站速度最佳化教學6 個實用加速技巧。如果你的TTFB 等待時間過長,也代表伺服器回應速度需要改善。

精簡外掛使用

安裝了 30 個外掛的網站,發生衝突的機率遠高於只裝 10 個的網站。定期審視你安裝的外掛,把不再使用的停用並刪除,把功能重複的合併。特別注意那些會大量消耗資源的外掛,例如即時搜尋、複雜的頁面編輯器、未經最佳化的聯絡表單等。不必要的留言功能也可以考慮關閉,減少伺服器處理的負擔。

正確設定 CDN 與 DNS

CDN 就像雙面刃,用得好能大幅提升網站速度,設定不當卻會造成 502。如果你使用 Cloudflare,確保 DNS 記錄設定正確、SSL 模式選擇適當(通常是 Full Strict),並定期清除快取。我們的Cloudflare 完整教學有更詳細的設定說明。

說到底,預防 502 的核心邏輯就是:讓你的 WordPress 環境保持健康、資源充足、設定正確。做到這幾點,502 就會從「常客」變成「稀客」。加強WordPress 安全性也是保護網站穩定運作的重要一環。

502 Bad Gateway 常見問答 FAQ

502 Bad Gateway 是什麼意思?

502 Bad Gateway 是一種 HTTP 狀態碼,代表作為閘道器或代理的伺服器,從上游伺服器接收到了無效的回應。在 WordPress 環境中,通常表示 Nginx(或 Apache)無法從 PHP-FPM 取得正確的回應。可能的原因包括 PHP-FPM 當機、伺服器資源耗盡、或外掛程式碼錯誤。

502 錯誤會影響 SEO 排名嗎?

短時間的 502(幾分鐘到半小時)對 SEO 的影響非常有限,Google 的爬蟲會自動重試。但如果 502 持續好幾個小時甚至好幾天,Google 可能會把你的頁面暫時從索引中移除,直到網站恢復正常。網站載入速度和可用性本來就是 Google 排名因素的一部分,所以長時間的服務中斷確實會影響排名表現。搭配 On-page SEO 最佳化策略一起維護,能讓你的網站更加穩健。

502 錯誤通常多久會自動恢復?

這完全取決於觸發原因。如果是主機商的基礎設施故障,通常幾分鐘到幾小時就會修復。如果是伺服器暫時過載,等到流量降下來就會恢復。但如果問題是外掛衝突或設定錯誤造成的,不會自動恢復,需要你手動排除。

使用 Cloudflare 時出現 502 該怎麼辦?

先確認 502 頁面是否帶有 Cloudflare 的標誌。如果是,問題可能出在 Cloudflare 無法連線到你的主機。你可以暫時把 DNS 記錄從 Proxied(橘色雲朵)切換成 DNS Only(灰色雲朵),繞過 Cloudflare 直接訪問主機,看看問題是否依然存在。這能幫你區分是 Cloudflare 的問題還是主機的問題。更多細節可以參考我們的Cloudflare 完整教學。

免費主機常出現 502 該怎麼辦?

免費主機的資源限制非常嚴格,CPU 時間和記憶體配額都很少,稍微多一點流量就容易觸發 502。如果你的網站有一定的流量或者對穩定性有要求,免費主機真的很難滿足需求。建議升級到像 Bluehost 這類每月幾美元的入門付費主機,穩定性和資源都會好上好幾倍。我們的WordPress 主機推薦文章中有更詳細的方案比較。

如何分辨 502 是主機問題還是網站問題?

有幾個快速判斷的方法:檢查主機商的官方狀態頁面和社群媒體,看是否有故障公告;如果你有其他網站也放在同一家主機商,看看它們是否也 502;嘗試從不同網路環境和不同裝置訪問,排除本機網路問題。如果同主機的所有網站都掛了,那問題就在主機商那邊。如果只有你的一個網站出問題,那就要從網站本身找原因。

總結

502 Bad Gateway 雖然看起來可怕,但在大多數情況下都可以自行修復。從簡單的強制重新整理瀏覽器、清除快取,到停用可疑外掛、切換主題、檢查 CDN 和 PHP 設定,再到查看伺服器日誌和聯繫主機商。按照這個順序一步步排除,你的網站多半能在幾分鐘到半小時內恢復正常。

但說實話,如果 502 在你的網站上反覆出現,那最根本的解法還是換一家可靠的主機商。好的主機就像是幫你的網站蓋在堅固的地基上,不容易因為一點風吹草動就垮掉。與其每次花時間修修補補,不如一開始就選擇穩定的基礎。

如果你的網站經常出現 502 或其他伺服器錯誤,我建議你可以將網站轉移到更好的虛擬主機商,這不僅能大幅提升 WordPress 的網站速度,也能降低問題發生的頻率,省下你寶貴的時間和心力。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 679

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


目錄

目錄
Share to...