シナリオ一覧へ戻る
🌐

本番だけCORSエラー

中級12フロントエンド担当

本番にデプロイしたら、フロントエンドがAPIを叩けなくなった。開発環境ではちゃんと動いていたのに…

このシナリオで練習すること

複数の手掛かりをつなぎながら復旧まで持っていく練習向けです。

想定ロール

フロントエンド担当

到達目標

本番ドメインからAPIを叩いても CORS エラーが出ないようにする

最初に見えている症状
  • ブラウザのコンソールに `No 'Access-Control-Allow-Origin' header` エラー
  • curl で直接APIを叩くと 200 が返る(サーバー自体は正常)
  • 開発環境 (localhost:3000) からは問題なく叩けていた
このシナリオで学べること
  • CORS はサーバー側のヘッダー応答で制御される
  • ブラウザのネットワークタブ・コンソールエラーの読み方
  • preflight OPTIONS リクエストの存在
このページの使い方
  • まず症状を読んで、どこから確認するか仮説を立てる
  • プレイ画面では help、ls、cat、grep から始める
  • 解けたあとに学べることを見返して、型として残す
このシナリオを始める

関連シナリオ

同じ難易度か、次に進みやすいシナリオを選んでいます。

よくある質問

このシナリオはどんな人向けですか?

フロントエンド担当 向けです。複数の手掛かりをつなぎながら復旧まで持っていく練習向けです。所要時間の目安は 12 分で、 最初に見えている症状は 「ブラウザのコンソールに `No 'Access-Control-Allow-Origin' header` エラー」 です。 本番にデプロイしたら、フロントエンドがAPIを叩けなくなった。開発環境ではちゃんと動いていたのに…

何をゴールにすればよいですか?

本番ドメインからAPIを叩いても CORS エラーが出ないようにするのがゴールです。原因の特定そのものより、まず利用者への影響を止めるところまで辿り着けるかを見ています。復旧後に「なぜ起きたか」を説明できる状態になっていれば十分です。

始める前に知っておくと良いことはありますか?

まずは症状を読み、 ログ・設定・再起動の どこから見るかを 決めると進めやすくなります。 help、 ls、 cat、 grep などの基本コマンドから入るのがおすすめです。 このシナリオでは CORS はサーバー側のヘッダー応答で制御される、 ブラウザのネットワークタブ・コンソールエラーの読み方 を扱うので、 そのあたりを意識して進めると 身につきやすいです。