オリジンから任意のエラーステータスを返し、CloudFront の Custom Error Response の動作を確認します。
エラー送信: 指定ステータスで返す → Custom Error Response 発動
正常送信: 200 で返す → Custom Error Response 発動しない(正常時の理想動作)
/api/* ビヘイビアは CachingDisabled マネージドキャッシュポリシーを使用しているため、エラーキャッシュもカスタムエラーページも一切キャッシュされません。毎回オリジンに到達し、オリジンのレスポンスがそのまま返ります。
例外: /api/error-test は専用のキャッシュビヘイビア(CachingDisabled 以外)が設定されているため、エラーキャッシュが有効です。
出典: CloudFront がキャッシュする HTTP 4xx および 5xx ステータスコード
| ステータスコード | キャッシュ条件 | no-store/no-cache/private の扱い |
|---|---|---|
| 404, 414, 500, 501, 502, 503, 504 | 常にキャッシュ | 404, 414, 501 のみ no-store/no-cache/private を尊重。 他(500, 502, 503, 504)は無視して ErrorCachingMinTTL でキャッシュ |
| 400, 403, 405, 412, 415 | Cache-Control max-age / s-maxage がある場合のみキャッシュ | ヘッダーがなければキャッシュしない |
Cache-Control: max-age or s-maxage を返した場合 → max(ErrorCachingMinTTL, ヘッダー値)| エラーコード | カスタムエラーページ | ErrorCachingMinTTL | キャッシュ条件 | 備考 |
|---|---|---|---|---|
| 400 | /error/error-400.html | 5秒 | Cache-Control 必要 | 設定済み |
| 403 | (未設定) | デフォルト10秒 | Cache-Control 必要 | 未設定 |
| 404 | /error/error-404.html | 10秒 | 常にキャッシュ | 設定済み |
| 405 | /error/error-405.html | 10秒 | Cache-Control 必要 | 設定済み |
| 412 | (未設定) | デフォルト10秒 | Cache-Control 必要 | 未設定、カスタムエラーページ不可 |
| 414 | /error/error-414.html | 10秒 | 常にキャッシュ | 設定済み |
| 415 | (未設定) | デフォルト10秒 | Cache-Control 必要 | 未設定、カスタムエラーページ不可 |
| 416 | /error/error-416.html | 10秒 | ⚠️ キャッシュされない | 設定済み、ただし CF は 416 をキャッシュしない |
| 500 | (未設定) | デフォルト10秒 | 常にキャッシュ | 未設定 |
| 501 | /error/error-501.html | 10秒 | 常にキャッシュ | 設定済み |
| 502 | /error/error-502.html | 10秒 | 常にキャッシュ | 設定済み |
| 503 | (なし) | 10秒 | 常にキャッシュ | 設定済み、ページ差し替えなし |
| 504 | (未設定) | デフォルト10秒 | 常にキャッシュ | 未設定 |
注意: /api/error-test は専用ビヘイビア(CachingDisabled 以外)が設定されているため、上記ルールが適用されます。/api/* の他のエンドポイントは CachingDisabled のため全て無効。
クリックでエラー送信します。