Hear from Slack, the ACLU, TED, & more at our customer summit in San Francisco Register
LOG IN SIGN UP
Documentation

よくある 503 エラー

  Last updated June 07, 2017

Fastly CDN のエンジン、Varnish が標準的な 503 レスポンスを返すことがあります。これは、オリジンサーバーからデータを取得する際に起こる様々な問題により、発生します。503 エラーに対する汎用的ステータスメッセージは「Service Unavailable」ですが、これはいろいろな状況において表示される可能性があります。よくある理由は以下の通りです。

  1. オリジンで 503 エラーが発生し、それを Fastly はそのまま返している。
  2. オリジンがレスポンスヘッダーなしで 503 エラーを返したため、デフォルトのレスポンスが使用された。
  3. オリジンからの HTTP レスポンスのステータス行を読み取ることができなかった。
  4. 適切なレスポンスステータスを含まない "error" ステートメントが、VCL として実行された (例: error 503 "_broken thing_" ではなく error 503 など)。

下記ではよく見られる、標準的だが非汎用的な 503 レスポンスについて説明します。

503 Backend Read Error

Backend Read Error (バックエンド読み取りエラー) は通常、Fastly サーバーがオリジンからコンテンツ取得している最中のタイムアウト・エラーにより発生します。ルーターのフェイルオーバーやパケットロスなど、一時的なネットワーク上の問題によって起こる転送の失敗や、オリジンにおける高負荷が原因となることもあります。

バックエンドのレスポンスタイムをベンチマークする。 バックエンドのレスポンスタイムは様々な外的要因により変化します。Backend Read Error が繰り返し発生する場合、Fastly コントロールパネルからバックエンドのタイムアウト設定を変更することで、多くの場合改善が見込まれます。ベンチマークとして次のコマンドを実行し、レスポンスタイムを測定してください。

curl -s -w "%{time_total}\n" -o /dev/null http://example.com/path/to/file

バックエンドのタイムアウト設定をより大きな値にする。 アプリケーション内の遅い箇所に対するベンチマークを実施すると、バックエンドからの適切なレスポンスタイムが分かります。Edit a host 設定画面の Advanced option より、バックエンドのタイムアウト値を調整してください。詳細については、オリジンへの接続タイムアウト値を変更するを読んでください。

503 Connection Timed Out

Connection Timed Out (接続タイムアウト) は、Fastly からオリジンへの TCP 接続の確立待ち、または、オリジンからのレスポンスを待つ際のタイムアウトにより発生します。Backend Read Error 同様、接続タイムアウトは一時的なネットワーク上の問題やオリジンの遅延、オリジンまでの距離が大きいこと等を原因として発生します。Fastly サーバーの接続タイムアウト値の変更や、オリジンシールドの有効化は、このようなタイムアウトエラーの予防に有効です。

503 Backend Write Error

Backend Write Error (バックエンド書き込みエラー) は、Backend Read Error に類似していますが、POST リクエストを Fastly からバックエンドに送信する際に発生します。

503 Client Read Error

Client Read Error (クライアント読み取りエラー) は、クライアントと Fastly 間のネットワーク上の問題により発生します。Backend Read Error に類似していますが、クライアントからのリクエストを読み取る際に起こります。

503 Connection Refused

Connection Refused (接続拒否) は、オリジンの指定されたポートに接続しようとして、それが拒否された際に発生します。このエラーの主な原因は、Fastly コントロールパネルでのオリジンのポート番号の設定ミスです。

503 Network Unreachable

Network Unreachable (到達不可能なネットワーク) が発生するのは、Fastly から指定された IP 範囲へのルートが見つからない時です。このエラーの主な原因は、ルーターの設定ミスや故障です。

503 Backend Is Unhealthy

Backend Is Unhealthy (バックエンドのヘルスステータス異常) は、バックエンドのダウンがヘルスチェックにより認識されている場合に発生します。ユーザーからのリクエストを受けて通常、エッジサーバーはオリジンへリクエストを行います。しかしこのエラーの発生時は、すでにバックエンドのヘルスステータスが異常と認識されているため、Fastly はリクエストを行いません。バックエンドへの同時接続数が上限を初めて超えた場合に、Backend.max_conn Reached の代わりに誤って、このエラーが発生することがあります。

503 Backend.max_conn Reached

Backend.max_conn Reached (バックエンドへの接続数の上限超過) は、サービスで定義された同時接続数の上限へ達したバックエンドへ、さらにリクエストしようとした時に発生します。デフォルトでは、オリジンが過負荷にならないように、1 つのキャッシュノードからオリジンへの接続数を 200 までに制限しています。このエラーを防ぐには、オリジンへの最大接続数を増やしてください。このエラーは、Maximum Threads for Service Reached (サービスに対するスレッド数の上限超過) と表示されることがあります。

503 Maximum Threads for Service Reached

Backend.max_conn Reached を参照してください。

503 Illegal Vary Header From Backend

Illegal Vary Header From Backend (バックエンドからの不正な Vary ヘッダー) は、バックエンドが不正な Vary ヘッダーをレスポンスとして返した場合に発生します。適切な形式の Vary ヘッダーが指定するリクエストヘッダーの値に応じて、Fastly は異なるバージョンを区別してキャッシュします。

503 No Stale Object Available

No Stale Object Available (失効済みコンテンツが利用不可) は、バックエンド問題発生時の失効済みコンテンツの配信が設定済みであるにも関わらず、失効済みコンテンツが利用不可かつバックエンドに問題が発生している (結果的に失効済みコンテンツが利用できない) 場合に発生します。

503 Quorum Weight Not Reached

Quorum Weight Not Reached (Quorum Weight の不足) は、利用可能なバックエンドの不足により、Director がトラフィックを設定通りに処理できない場合に発生します。Director は Fastly API 経由でのみ利用でき、バックエンド間のロードバランスを行います。

503 No Healthy Backends

No Healthy Backends (正常なバックエンドなし) は、ヘルスチェックに基づく正常なバックエンドが存在せず、Director がトラフィックを設定通りに処理できない場合に発生します。Director は Fastly API 経由でのみ利用でき、バックエンド間のロードバランスを行います。

503 All Backends Failed or Unhealthy

All Backends Failed or Unhealthy (全てのバックエンドがダウン または ヘルスステータス異常) は、ヘルスチェックによって全バックエンドのヘルスステータスが異常と判断されている場合、または、Director から情報の取得を試みたバックエンドが全て同じエラーを返した場合に、発生します。Director は Fastly API 経由でのみ利用でき、バックエンド間のロードバランスを行います。

503 SSL Handshake error

SSL Handshake error (SSL ハンドシェイクエラー) は、Fastly とオリジン間で TLS ネゴシエーションが失敗した場合に発生します。このエラーを解決するには、オリジンの TLS 設定を見直して修正してください。

503 Unable to Get Local Issuer Certificate

Unable to Get Local Issuer Certificate (発行元の証明書が存在しない) は、[証明書チェーン]内の証明書が存在しない、または無効な場合に発生するエラーです。このエラーの原因を特定するには、オリジンに対する SSL testを実行することを推奨します。SSL test を用いて、オリジンにインストールされた証明書の問題を見つけることが可能です。以下 2 つの方法は、このエラーの解決に効果的です。

503 Hostname Doesn't Match Against Certificate

Hostname Doesn't Match Against Certificate (ホスト名が証明書に一致しない) は、サービスのオリジン TLS 設定で指定された証明書のホスト名が、コモンネーム (CN) と Subject Alternate Names (SAN) のいずれとも一致しない場合に発生するエラーです。このエラーを解決するには、オリジン証明書の CN または SAN のいずれかと一致する名前を、証明書ホスト名として入力してください。

503:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert

このエラーは、オリジンとの TLS ハンドシェイクにおいて Server Name Indication (SNI) が必要であるにもかかわらず、SNI ホスト名フィールドが空欄か、または間違った値が入力されている場合に発生します。このエラーを解決するには、SNI hostname フィールドにホスト名を入力してください。多くの場合、この値は証明書ホスト名の内容と一致します。

503 Certificate has Expired

Certificate has Expired (証明書の有効期限切れ) は、オリジンにインストールされた証明書の有効期限が切れている場合に発生します。これを解決するには、証明書を更新するか、新しいものをダウンロードしてください。


Back to Top