Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

當你遇到 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。
在技術層面上,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 的錯誤頁面會根據你使用的瀏覽器、伺服器環境以及是否有使用 CDN 服務而有所不同。以下是你在網路上最常遇到的幾種 502 訊息:
辨識這些訊息的差異其實很有用。如果錯誤頁面帶有 Cloudflare 的標誌,問題可能出在 CDN 層;如果看到 nginx 的頁尾,問題就比較可能在你的主機伺服器端。學會判讀這些線索,能幫你更快鎖定問題的源頭。
很多站長碰到網站掛掉時,看到一串數字就慌了,分不清到底是哪種錯誤。其實 5xx 家族裡的每個成員都有明確的定義,搞懂它們之後,你就能更精準地判斷問題方向。下面這張表把最常見的四種伺服器錯誤整理在一起:
| 錯誤代碼 | 名稱 | 含義 | 常見原因 |
|---|---|---|---|
| 500 | Internal Server Error | 伺服器遭遇未預期的錯誤,無法完成請求 | .htaccess 語法錯誤、PHP 程式碼異常、檔案權限設定不當 |
| 502 | Bad Gateway | 閘道器從上游伺服器收到無效回應 | PHP-FPM 當機、伺服器資源耗盡、上游服務未回應 |
| 503 | Service Unavailable | 伺服器暫時無法處理請求 | 伺服器過載、維護模式、流量暴增超出負載 |
| 504 | Gateway Timeout | 閘道器等待上游伺服器回應超時 | PHP 執行時間過長、資料庫查詢卡住、外部 API 呼叫逾時 |
簡單來說:500 是伺服器自己出了差錯;502 是伺服器之間的溝通出了問題(上游沒回應或回應無效);503 是伺服器太忙暫時不接單;504 則是等太久了,乾脆放棄。了解了這些差異,你之後遇到類似錯誤時,就能更有針對性地去排查了。如果你的網站也遇到了資料庫連線錯誤,也可以參考我們的另一篇教學。
在動手修復之前,先了解有哪些情況會觸發 502 錯誤,能幫你更快找到問題的癥結。以下是 WordPress 環境中最常見的 7 個原因:
這個原因大概最常見。當你的主機 CPU 使用率衝到 100%,或者記憶體被吃光時,PHP-FPM 就無法正常處理新的請求,Nginx 等不到回應就會回傳 502。這在低價共享主機上特別容易發生,一台上百個網站共用資源,任何一個網站流量暴衝,都可能拖累其他人。如果你的站已經成長到每日有幾千個訪客,卻還在使用最便宜的主機方案,那 502 可能只是遲早的事。
PHP-FPM 是 WordPress 背後的執行引擎。如果 PHP-FPM 的進程數設定太少(pm.max_children 過低),或者每個進程分配的記憶體不夠,在流量高峰時就會出現排隊等待的情況,嚴重時直接 502。有些主機商的預設設定對 WordPress 來說並不充裕,需要手動調整。
WordPress 外掛的品質參差不齊。一個寫得不好的外掛可能導致 PHP 致命錯誤,讓 PHP-FPM 進程崩潰。特別是快取類外掛、安全類外掛、或者會大量查詢資料庫的外掛,它們的效能問題更容易把伺服器資源吃光。安裝新外掛或更新外掛版本後突然 502,是最典型的症狀。
如果你使用了Cloudflare 等 CDN 服務,多了一層代理,也就多了一個可能出問題的環節。CDN 服務商自身的伺服器故障、你的 DNS 設定不正確、或者 CDN 無法正確連線到你的主機,都可能觸發 502。判斷方式很簡單:如果錯誤頁面帶有 Cloudflare 的標誌,那就是 CDN 層的問題。你也可以搭配Cloudflare DNS 的設定一起檢查。
WordPress 本身和許多外掛對 PHP 版本有最低要求。如果你的主機還在跑 PHP 7.2 甚至更舊的版本,而某個外掛需要 PHP 7.4 以上才能正常運作,就有可能產生致命錯誤導致 502。反過來說,升級 PHP 版本後某些老舊外掛沒跟上,也會出問題。這類狀況和WordPress 更新失敗的情境有些類似,都需要從版本相容性去著手。
如果你有自行修改過伺服器設定檔(例如調整 Nginx 的 fastcgi_params 或 Apache 的 VirtualHost 設定),語法錯誤或邏輯問題都可能導致反向代理無法正確將請求轉發給 PHP。這類問題通常在修改設定後立即出現。碰到WordPress 無法正確顯示更新內容的問題時,有時也跟伺服器設定有關。
有時候問題根本不在你這邊。主機商進行伺服器維護、硬體故障、機房斷電等情況,都可能讓你的網站出現 502。這種時候你什麼都不用做,等待主機商修復就好,但前提是你要判斷出問題是出在他們身上。
了解了這 7 個常見原因,接下來我們就可以按圖索驥,逐步排除。值得一提的是,選擇一個穩定且口碑良好的 WordPress 主機,可以從根源上大幅降低 502 發生的機率。如果預算允許,Kinsta 這類高品質代管主機也是不錯的選擇,它們的基礎設施經過最佳化,對 WordPress 的相容性和穩定性都更好。如果你偏好台灣本土主機商,SiteGround 和 A2 Hosting 也各有各的優勢。
搞懂原因之後,就是動手修復的時候了。以下 8 個方法按照從簡單到複雜的順序排列,建議你從方法 1 開始嘗試,逐一排除。動手之前,有個重要提醒:務必先備份你的網站。可以使用 UpdraftPlus 等 WordPress 備份外掛,確保不管操作過程中發生什麼事,你都能把網站恢復原狀。
聽起來很基本,但真的有時候就是這麼簡單。502 可能只是伺服器短暫的忙碌狀態,過幾秒就好了,但你的瀏覽器卻把錯誤頁面快取了起來。強制重新整理可以繞過本機快取,重新向伺服器發出請求。
操作方式很直覺:
Ctrl + F5 或 Ctrl + Shift + RCmd + Shift + R如果重新整理後網站恢復正常,那恭喜你,問題已經解決了。如果還是不行,繼續往下看。
比強制重新整理更徹底的做法,就是把瀏覽器累積的所有快取資料清乾淨。有時候快取的損壞檔案會持續讓你看到錯誤頁面,即使伺服器那邊已經恢復了。
在 Chrome 或 Firefox 中,按下 Ctrl + Shift + Delete(Mac 是 Cmd + Shift + Delete),會開啟「清除瀏覽資料」的視窗。建議選擇「所有時間」範圍,勾選「快取圖片和檔案」以及「Cookie 和其他網站資料」,然後按下清除。完成後重新訪問你的網站試試。
你也可以用無痕模式(Chrome)或隱私視窗(Firefox)開啟網站來測試。如果無痕模式能正常顯示,那問題就確定是瀏覽器快取造成的。
外掛衝突是 502 的常見原因之一。如果你還能進入 WordPress 後台,直接到「外掛」頁面,勾選所有外掛後選擇「停用」,然後重新整理前台看 502 是否消失。如果消失了,再逐一啟用外掛,找出是哪一個惹的禍。
但問題是,502 錯誤往往讓你連後台都進不去。這時候就需要透過 FTP 來操作了。你可以使用 Filester 等 WordPress 檔案管理外掛(前提是你之前有安裝),或者直接用 FTP 客戶端(像是 FileZilla)連上伺服器。連上後,找到 wp-content/plugins 這個資料夾,把它重新命名為 plugins-old。這樣一來,WordPress 就找不到外掛資料夾,所有外掛會被自動停用。
重新整理網站,如果 502 消失了,就把資料夾名稱改回 plugins,然後在後台一個一個重新啟用外掛,找出肇事者。
如果停用所有外掛後 502 仍然存在,問題可能出在你的主題上。尤其是使用重度客製化的佈景主題或 付費主題時,主題本身的程式碼錯誤也可能導致 PHP 崩潰。
同樣透過 FTP,進入 wp-content/themes 資料夾,把你目前使用的主題資料夾重新命名(例如從 my-theme 改成 my-theme-old)。WordPress 找不到原本的主題時,會自動切換到預設的 Twenty Twenty-Four 等內建主題。如果 502 因此消失了,你就知道問題出在主題上。
如果你使用了 Cloudflare 等 CDN 服務,問題可能出在 CDN 那一層。最簡單的嘗試方式是開啟 Cloudflare 的「開發者模式」(Development Mode),這會暫時繞過 CDN 快取,直接連線到你的主機。在 Cloudflare 控制台的「快取」→「設定」裡可以找到這個選項。
或者你也可以暫時把 Cloudflare 的 DNS 記錄從橘色雲朵(Proxied)切換成灰色雲朵(DNS Only),這樣所有流量就會直接指向你的主機,完全不經過 Cloudflare。如果繞過 CDN 後網站正常了,那就需要進一步檢查 Cloudflare 的設定是否有問題。如果你同時使用了 Cloudflare Turnstile 等功能,也要確認它們的設定沒有衝突。
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');
如果前面的方法都試過了還是沒用,查看伺服器的錯誤日誌可以幫你找到問題的真正原因。日誌裡會記錄 PHP 致命錯誤、PHP-FPM 連線失敗等詳細資訊,比盲目嘗試有效率得多。具體的查看方式我們在下一個段落會詳細說明。
當你已經嘗試了所有自助方法,問題還是無法解決,這時候就該找你的主機商了。好的主機商(像是 Bluehost、Kinsta、A2 Hosting)都有 24/7 的技術支援,他們可以直接查看伺服器端的日誌,幫你找出你看不到的問題。
在聯繫客服之前,建議你先準備好以下資訊:502 開始出現的時間、你是否在之前做了任何變更(更新外掛、修改設定等)、你已經嘗試過哪些排除方法。這些資訊能幫助客服人員更快定位問題。
你也可以先到主機商的官方 Facebook 粉絲專頁或主機狀態頁面看看是否有公告維護或故障資訊。如果確認是他們的基礎設施問題,通常幾分鐘到幾小時內就會修復。
伺服器的錯誤日誌就像飛機的黑盒子,忠實記錄了每一次異常的細節。學會看日誌,你的除錯能力會從「亂槍打鳥」升級到「精準打擊」。
如果你的主機使用 Nginx,錯誤日誌通常在以下路徑:
/var/log/nginx/error.log(最常見)/var/log/nginx/你的網域名稱.error.log(部分主機商的設定)你可以透過 SSH 登入伺服器後,用 tail -n 50 /var/log/nginx/error.log 指令查看最近的 50 筆錯誤記錄。
Apache 的錯誤日誌路徑因作業系統而異:
/var/log/apache2/error.log/var/log/httpd/error_log以下是幾個你可能會在日誌中看到,與 502 相關的關鍵訊息:
看到這些訊息後,你可以對照前面的 7 大原因,就能很快鎖定是哪個環節出了問題。如果你使用的是 SiteGround 或 Bluehost 等主流主機商,他們的控制台通常也提供了圖形化的日誌查看工具,不需要自己 SSH 進去翻檔案。
修好一次 502 不難,難的是讓它不再出現。以下這些預防措施,是我在管理多個 WordPress 網站多年後累積下來的實戰經驗,確實能有效降低 502 的發生頻率。
這是最根本的解法。便宜的低品質主機是 502 的溫床,資源限制嚴格、伺服器超賣、技術支援慢半拍。如果你的網站對你來說很重要,請認真考慮升級到品質更好的主機。Bluehost 是 WordPress 官方推薦的主機商之一,價格合理且穩定性不錯;如果你的預算比較充裕,Kinsta 提供的 Google Cloud Platform 代管服務在效能和穩定性上都非常出色。想全面比較各家方案,可以參考我們的WordPress 虛擬主機推薦懶人包。
過時的 WordPress、外掛或主題版本,除了有安全風險之外,也可能與新版 PHP 不相容而導致致命錯誤。養成每週檢查一次更新的習慣,或者在後台設定自動更新。更新前記得先備份網站,這樣萬一更新出問題也能快速回復。
你不可能 24 小時盯著自己的網站。透過 WP Umbrella 這類監控工具,當網站出現 502 或任何異常時,你會在第一時間收到通知(Email 或 Slack)。越早發現問題,就越能縮短網站無法訪問的時間。
網站效能不佳會加重伺服器負擔,間接增加 502 的風險。你可以從幾個方向著手:使用 WP Rocket 等快取外掛來減少伺服器的動態請求量;啟用 GZIP 壓縮來減少傳輸資料量;將圖片轉換為 WebP 格式來降低圖片載入成本;也可以參考我們整理的WordPress 網站速度最佳化教學和6 個實用加速技巧。如果你的TTFB 等待時間過長,也代表伺服器回應速度需要改善。
安裝了 30 個外掛的網站,發生衝突的機率遠高於只裝 10 個的網站。定期審視你安裝的外掛,把不再使用的停用並刪除,把功能重複的合併。特別注意那些會大量消耗資源的外掛,例如即時搜尋、複雜的頁面編輯器、未經最佳化的聯絡表單等。不必要的留言功能也可以考慮關閉,減少伺服器處理的負擔。
CDN 就像雙面刃,用得好能大幅提升網站速度,設定不當卻會造成 502。如果你使用 Cloudflare,確保 DNS 記錄設定正確、SSL 模式選擇適當(通常是 Full Strict),並定期清除快取。我們的Cloudflare 完整教學有更詳細的設定說明。
說到底,預防 502 的核心邏輯就是:讓你的 WordPress 環境保持健康、資源充足、設定正確。做到這幾點,502 就會從「常客」變成「稀客」。加強WordPress 安全性也是保護網站穩定運作的重要一環。
502 Bad Gateway 是一種 HTTP 狀態碼,代表作為閘道器或代理的伺服器,從上游伺服器接收到了無效的回應。在 WordPress 環境中,通常表示 Nginx(或 Apache)無法從 PHP-FPM 取得正確的回應。可能的原因包括 PHP-FPM 當機、伺服器資源耗盡、或外掛程式碼錯誤。
短時間的 502(幾分鐘到半小時)對 SEO 的影響非常有限,Google 的爬蟲會自動重試。但如果 502 持續好幾個小時甚至好幾天,Google 可能會把你的頁面暫時從索引中移除,直到網站恢復正常。網站載入速度和可用性本來就是 Google 排名因素的一部分,所以長時間的服務中斷確實會影響排名表現。搭配 On-page SEO 最佳化策略一起維護,能讓你的網站更加穩健。
這完全取決於觸發原因。如果是主機商的基礎設施故障,通常幾分鐘到幾小時就會修復。如果是伺服器暫時過載,等到流量降下來就會恢復。但如果問題是外掛衝突或設定錯誤造成的,不會自動恢復,需要你手動排除。
先確認 502 頁面是否帶有 Cloudflare 的標誌。如果是,問題可能出在 Cloudflare 無法連線到你的主機。你可以暫時把 DNS 記錄從 Proxied(橘色雲朵)切換成 DNS Only(灰色雲朵),繞過 Cloudflare 直接訪問主機,看看問題是否依然存在。這能幫你區分是 Cloudflare 的問題還是主機的問題。更多細節可以參考我們的Cloudflare 完整教學。
免費主機的資源限制非常嚴格,CPU 時間和記憶體配額都很少,稍微多一點流量就容易觸發 502。如果你的網站有一定的流量或者對穩定性有要求,免費主機真的很難滿足需求。建議升級到像 Bluehost 這類每月幾美元的入門付費主機,穩定性和資源都會好上好幾倍。我們的WordPress 主機推薦文章中有更詳細的方案比較。
有幾個快速判斷的方法:檢查主機商的官方狀態頁面和社群媒體,看是否有故障公告;如果你有其他網站也放在同一家主機商,看看它們是否也 502;嘗試從不同網路環境和不同裝置訪問,排除本機網路問題。如果同主機的所有網站都掛了,那問題就在主機商那邊。如果只有你的一個網站出問題,那就要從網站本身找原因。
502 Bad Gateway 雖然看起來可怕,但在大多數情況下都可以自行修復。從簡單的強制重新整理瀏覽器、清除快取,到停用可疑外掛、切換主題、檢查 CDN 和 PHP 設定,再到查看伺服器日誌和聯繫主機商。按照這個順序一步步排除,你的網站多半能在幾分鐘到半小時內恢復正常。
但說實話,如果 502 在你的網站上反覆出現,那最根本的解法還是換一家可靠的主機商。好的主機就像是幫你的網站蓋在堅固的地基上,不容易因為一點風吹草動就垮掉。與其每次花時間修修補補,不如一開始就選擇穩定的基礎。
如果你的網站經常出現 502 或其他伺服器錯誤,我建議你可以將網站轉移到更好的虛擬主機商,這不僅能大幅提升 WordPress 的網站速度,也能降低問題發生的頻率,省下你寶貴的時間和心力。