Slate Errors

Server Error

500

Internal Server Error

— サーバー内部のエラー

まずは確認: よくある原因 TOP3

  1. アプリケーションコードでの未捕捉の例外
    スタックトレースをログから探すのが最初の一歩
  2. 外部サービス (DB, API) との通信失敗
    接続情報・タイムアウト・認可を順に疑う
  3. 設定ファイルの誤りや環境変数の欠落
    直前のデプロイ差分が真っ先に怪しい

何が起きたのか?

500 は「サーバーの中で何か予期しない問題が起き、これ以上は答えられない」というサインです。 教室で言えば、先生が黒板に書こうとしたチョークが折れて、何も書けなくなってしまった——そんな状態に近いかもしれません。

クライアント(あなたのブラウザやアプリ)に非はなく、サーバー側で「想定していなかった事態」が起きています。原因はサーバーログを見ないとわからない、というのが 500 の難しさです。

黒板からのひとこと

授業中、先生が突然黙り込むことがあります。「ちょっと待ってね」と言いながら何かを思い出そうとしている。生徒からは何が起きているか見えませんが、先生の頭の中では何かが詰まっているのです。

500 はそれと似ています。サーバーは「答えられません」とだけ伝え、その理由は外側からは見えません。原因はログという「先生のメモ」の中にあります。

解決への歩み

大丈夫、次はこうしてみよう:

  1. 時間を置いてリトライ:一時的なエラーかもしれない。まずもう一度
  2. 別のページや機能を試す:サイト全体が落ちているのか、特定の機能だけかを切り分ける
  3. 状況を管理者に伝える:いつ・どこで・何をしたら出たか。スクリーンショットがあれば最強
  4. サーバーログを調査(管理者向け):直近のデプロイ差分、外部サービスのステータス、エラーログのスタックトレースを順に確認

実際にはこう見える

$ リクエスト

curl -i https://example.com/some/path

↓ レスポンス

HTTP/1.1 500 Internal Server Error
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<html><body><h1>500 Internal Server Error</h1></body></html>

似ているケース

もっと知りたい