伺服器錯誤代碼大全:400/500/502/503 完整解析與解決方法|VibeFix

伺服器錯誤代碼大全|400/500/503 完整解析

HTTP 錯誤碼代表什麼意思

「500 Internal Server Error」「502 Bad Gateway」「404 Not Found」...

這些數字代碼常常讓人一頭霧水。

其實它們是 HTTP 狀態碼,每個數字都有特定含義,告訴你問題出在哪裡。

這篇文章幫你搞懂這些錯誤碼,以及如何解決它們。

http-error-codes-4xx-5xx-overview

一、HTTP 錯誤碼分類

HTTP 狀態碼用三位數字表示,第一個數字代表類別:

代碼範圍 類別 含義
1xx 資訊性 請求已接收,繼續處理
2xx 成功 請求成功
3xx 重新導向 需要進一步操作
4xx 客戶端錯誤 請求有問題
5xx 伺服器端錯誤 伺服器處理失敗

最常見的錯誤:4xx 和 5xx。

1.1 4xx 客戶端錯誤

問題在你這邊(使用者或請求)。

常見原因:
- 網址打錯
- 沒有權限
- 請求格式錯誤

1.2 5xx 伺服器端錯誤

問題在伺服器那邊。

常見原因:
- 伺服器程式錯誤
- 伺服器過載
- 後端服務故障


二、常見 4xx 錯誤

2.1 400 Bad Request

含義:伺服器無法理解你的請求。

常見原因:
- 請求語法錯誤
- 網址包含無效字元
- Cookie 損壞
- 上傳檔案太大

使用者解決方法:
- 重新整理頁面
- 清除瀏覽器 Cookie
- 檢查網址是否正確

開發者解決方法:
- 檢查 API 請求格式
- 驗證輸入資料
- 檢查 Content-Type 標頭

2.2 401 Unauthorized

含義:需要身份驗證。

常見原因:
- 未登入
- 登入已過期
- API 金鑰無效

使用者解決方法:
- 登入或重新登入
- 檢查帳號密碼是否正確

開發者解決方法:
- 檢查身份驗證設定
- 確認 API 金鑰有效
- 檢查 Token 是否過期

2.3 403 Forbidden

含義:你沒有權限存取這個資源。

和 401 的差別:401 是「你是誰?」,403 是「我知道你是誰,但你沒權限。」

常見原因:
- 沒有存取權限
- IP 被封鎖
- 檔案權限設定錯誤

使用者解決方法:
- 確認是否有權限存取
- 聯繫網站管理員

開發者解決方法:
- 檢查檔案權限(chmod)
- 檢查 .htaccess 設定
- 確認用戶權限設定

2.4 404 Not Found

含義:找不到你要的資源。

這是最常見的錯誤碼。

常見原因:
- 網址打錯
- 頁面已被刪除或移動
- 連結過期

使用者解決方法:
- 檢查網址是否正確
- 使用網站搜尋功能
- 回到首頁重新導航

開發者解決方法:
- 設定 301 重新導向
- 建立自訂 404 頁面
- 檢查路由設定

4xx-error-codes-comparison-guide

三、常見 5xx 錯誤

3.1 500 Internal Server Error

含義:伺服器發生內部錯誤。

這是最籠統的錯誤,代表「伺服器壞了,但不知道為什麼」。

常見原因:
- 程式碼有 Bug
- 資料庫連線失敗
- 伺服器配置錯誤
- 記憶體不足

使用者解決方法:
- 重新整理頁面
- 稍後再試
- 聯繫網站管理員

開發者解決方法:
- 查看伺服器錯誤日誌
- 檢查程式碼錯誤
- 確認資料庫連線
- 檢查伺服器資源

3.2 502 Bad Gateway

含義:伺服器作為閘道,從上游伺服器收到無效回應。

常見架構:使用者 → Nginx → Node.js/PHP

502 通常代表後端應用程式(Node.js/PHP)沒有正常回應。

常見原因:
- 後端應用程式當機
- 後端應用程式沒有啟動
- 反向代理設定錯誤
- 後端回應超時

使用者解決方法:
- 重新整理頁面
- 稍後再試

開發者解決方法:
- 檢查後端應用程式是否運作
- 查看 Nginx/Apache 錯誤日誌
- 確認反向代理設定
- 增加超時時間

3.3 503 Service Unavailable

含義:伺服器暫時無法處理請求。

通常是暫時性的,可能是維護或過載。

常見原因:
- 伺服器維護中
- 流量過大
- 連線數達到上限
- 資源耗盡

使用者解決方法:
- 等待幾分鐘再試
- 查看官方是否有維護公告

開發者解決方法:
- 增加伺服器資源
- 設定負載平衡
- 優化程式效能
- 設定自訂維護頁面

3.4 504 Gateway Timeout

含義:伺服器作為閘道,上游伺服器沒有及時回應。

和 502 類似,但 504 是「太慢」而不是「壞掉」。

常見原因:
- 後端處理時間過長
- 資料庫查詢太慢
- 外部 API 回應超時
- 網路延遲

使用者解決方法:
- 稍後再試
- 檢查網路連線

開發者解決方法:
- 優化慢查詢
- 增加超時設定
- 使用快取
- 非同步處理耗時任務

5xx-error-codes-architecture-diagram

四、錯誤碼對照表

常見 4xx 錯誤

代碼 名稱 含義
400 Bad Request 請求格式錯誤
401 Unauthorized 需要身份驗證
403 Forbidden 沒有存取權限
404 Not Found 找不到資源
405 Method Not Allowed HTTP 方法不允許
408 Request Timeout 請求超時
429 Too Many Requests 請求次數過多

常見 5xx 錯誤

代碼 名稱 含義
500 Internal Server Error 伺服器內部錯誤
501 Not Implemented 功能未實作
502 Bad Gateway 閘道錯誤
503 Service Unavailable 服務不可用
504 Gateway Timeout 閘道超時

五、使用者 vs 開發者解決方法

5.1 使用者能做的事

當你遇到錯誤時:

步驟 動作
1 重新整理頁面(Ctrl+F5 / Cmd+Shift+R)
2 清除瀏覽器快取和 Cookie
3 換一個瀏覽器試試
4 等 5-10 分鐘再試
5 檢查網址是否正確
6 聯繫網站管理員

5.2 開發者該做的事

系統性排查流程:

  1. 查看錯誤日誌
    - Nginx:/var/log/nginx/error.log
    - Apache:/var/log/apache2/error.log
    - 應用程式日誌

  2. 檢查伺服器狀態
    - CPU、記憶體使用率
    - 磁碟空間
    - 網路連線

  3. 確認服務運作
    - 資料庫是否連線
    - 後端應用是否運作
    - 外部 API 是否可用

  4. 重現問題
    - 什麼條件下發生?
    - 是否能重現?
    - 是否只有特定使用者?

錯誤一直出現?讓工程師幫你排查根本原因。

developer-error-troubleshooting-flowchart

FAQ 常見問題

Q1:500 錯誤和 502 錯誤有什麼差別?

A:500 是伺服器內部錯誤(程式 Bug、設定錯誤等);502 是閘道錯誤,代表反向代理(如 Nginx)無法從後端取得有效回應。簡單說,500 是「伺服器壞了」,502 是「後端應用壞了」。

Q2:為什麼 404 頁面設計很重要?

A:好的 404 頁面可以減少使用者流失。應該提供導航選項(首頁連結、搜尋框)和友善的說明,讓使用者能繼續使用網站。

Q3:429 錯誤是什麼意思?

A:Too Many Requests,代表你的請求次數超過限制(Rate Limit)。常見於 API 呼叫。解決方法是降低請求頻率,或申請更高的配額。

Q4:看到 503 代表網站掛了嗎?

A:不一定。503 通常是暫時性的,可能是維護中或流量過大。等幾分鐘再試通常會恢復。

Q5:如何自訂錯誤頁面?

A:在 Nginx 中使用 error_page 指令,在 Apache 中使用 ErrorDocument 指令,或在應用程式框架中設定錯誤處理器。


HTTP 錯誤碼快速判斷法則與處理建議

了解 HTTP 錯誤碼可以幫你快速定位問題:

記住這個規則:
- 4xx = 你的問題(請求錯誤、沒權限、找不到)
- 5xx = 伺服器問題(程式錯誤、過載、超時)

使用者遇到錯誤: 先重新整理,再等一下,最後聯繫管理員。

開發者遇到錯誤: 查日誌、檢查服務、重現問題、修復根因。

如果遇到 DNS 相關問題,請參考 DNS 伺服器沒有回應解決方法

延伸閱讀:
- 伺服器基礎
- DNS 伺服器沒有回應
- Safari 無法連接伺服器
- 網站伺服器架設教學


部署失敗?讓我們幫你

從環境設定到 CI/CD,我們幫你搞定所有部署問題。專業工程師團隊 24 小時內回覆。

幫我部署


參考資料

  1. Mozilla,「HTTP response status codes」,MDN Web Docs(2024)
  2. IETF,「RFC 7231 - HTTP/1.1 Semantics and Content」,IETF(2014)
  3. Nginx,「Debugging nginx」,Nginx Documentation(2024)
  4. Cloudflare,「HTTP Status Codes」,Cloudflare Learning(2024)
分享文章:
V

VibeFix

專門解決 AI Vibe Coding 後的疑難雜症,讓你的專案順利上線。

這篇文章有幫到你嗎?

如果還有問題,讓我們直接幫你解決!

聯繫我們