カテゴリ: Laravel 更新日: 2026/02/07

LaravelでCORS設定を完全解説!初心者でもわかる他ドメインアクセス許可

LaravelでCORS設定を行う方法(他ドメインからのアクセス許可)
LaravelでCORS設定を行う方法(他ドメインからのアクセス許可)

先生と生徒の会話形式で理解しよう

生徒

「Laravelで作ったAPIに、別のサイトからアクセスしようとしたらエラーが出ました。どうしてですか?」

先生

「それはCORSという仕組みが関係しています。Webブラウザが安全のために通信を制限しているんです。」

生徒

「CORSって何ですか?設定しないとAPIは使えないんですか?」

先生

「設定すれば大丈夫です。Laravelでは決められた場所を編集するだけで対応できますよ。」

1. CORSとは何かを超やさしく理解しよう

1. CORSとは何かを超やさしく理解しよう
1. CORSとは何かを超やさしく理解しよう

CORSとはCross-Origin Resource Sharingの略で、日本語では「異なる場所からのアクセスを許可する仕組み」という意味です。 ここでいう「場所」とは、WebサイトのURLに含まれるドメインのことです。

例えば、https://example.comで動いている画面から、 https://api.sample.comのAPIを呼び出す場合、ドメインが違うため、そのままではブラウザが通信を止めます。 これは不正な通信や情報漏えいを防ぐための安全対策です。

CORSは「このドメインからのアクセスなら許可してよいですよ」とサーバー側が伝えるためのルールだと考えると分かりやすいです。 建物で例えると、受付で「この人は入っていいです」と許可証を出すイメージです。

2. LaravelでCORS設定が必要になる場面

2. LaravelでCORS設定が必要になる場面
2. LaravelでCORS設定が必要になる場面

LaravelでAPI開発をしていると、フロント画面とAPIを別々に作ることがよくあります。 例えば、画面はHTMLやJavaScriptで作り、APIはLaravelで作るといった形です。

このとき、画面とAPIのURLが違うと、ブラウザは「別のドメインからの通信」と判断します。 その結果、CORSエラーが発生し、APIが正しく動かなくなります。

つまり、LaravelでAPIを外部から使いたい場合、CORS設定はほぼ必須の作業になります。 初心者の方が最初につまずきやすいポイントでもあります。

3. Laravel標準のCORS設定ファイルを確認しよう

3. Laravel標準のCORS設定ファイルを確認しよう
3. Laravel標準のCORS設定ファイルを確認しよう

Laravelでは、最初からCORS設定用のファイルが用意されています。 それがconfig/cors.phpです。 このファイルを編集することで、他ドメインからのアクセス許可を管理できます。

設定ファイルとは、アプリ全体の動きを決めるためのメモ帳のようなものです。 難しい処理を書く場所ではなく、「どう動いてほしいか」を指定する場所だと考えてください。

4. cors.phpの基本設定を見てみよう

4. cors.phpの基本設定を見てみよう
4. cors.phpの基本設定を見てみよう

return [
    'paths' => ['api/*'],
    'allowed_methods' => ['*'],
    'allowed_origins' => ['*'],
    'allowed_headers' => ['*'],
    'supports_credentials' => false,
];

pathsは「どのURLにCORSを適用するか」を決めます。 api/*は、API用のURLすべてという意味です。

allowed_originsは「どこからのアクセスを許可するか」を指定します。 *は「すべて許可」という意味で、学習中や検証用によく使われます。

allowed_methodsallowed_headersも、 「どんな通信方法や情報を許可するか」を決める項目です。 最初は深く考えず、すべて許可する設定でも問題ありません。

5. CORSはミドルウェアとして動いている

5. CORSはミドルウェアとして動いている
5. CORSはミドルウェアとして動いている

LaravelのCORSはミドルウェアとして動作しています。 ミドルウェアとは、リクエストが処理される前後にチェックを行う仕組みです。

例えるなら、学校の校門に立っている先生のような存在です。 中に入る前に「この人は入っていいか」を確認する役割があります。

CORSのミドルウェアは、アクセス元を確認し、 許可されていればAPIの処理に進ませるという働きをしています。

6. CORSエラーが出たときの考え方

6. CORSエラーが出たときの考え方
6. CORSエラーが出たときの考え方

CORSエラーが出た場合、Laravelの処理自体が失敗しているわけではありません。 多くの場合、ブラウザが安全のために通信を止めています。

そのため、エラーが出たら「CORS設定で許可されているか」を確認することが大切です。 特にallowed_originsの設定は、原因になりやすいポイントです。

LaravelでAPI開発を行う際は、 「CORSは通信の入り口でチェックされる仕組み」という考え方を持つと理解しやすくなります。

関連記事:
カテゴリの一覧へ
新着記事
New1
Symfony
Symfonyのルーティング構成の基本を完全解説!初心者向けにYAML・PHP・アノテーション方式をやさしく紹介
New2
Laravel
Laravelのルートグループの使い方!初心者でもわかるprefixやミドルウェアの設定方法
New3
PHP
PHPのswitch文の使い方!多くの条件分岐をスッキリ書く方法と注意点
New4
Symfony
Symfony学習に役立つおすすめドキュメント・教材・リソース一覧【初心者向け】
人気記事
No.1
Java&Spring記事人気No1
PHP
PHPで文字列を結合する方法!ドット演算子と代入演算子の使い方を徹底解説
No.2
Java&Spring記事人気No2
Symfony
Symfonyで翻訳(i18n)機能を使う方法を解説!初心者にもわかる国際化対応の基本
No.3
Java&Spring記事人気No3
PHP
PHPのif文の使い方を完全ガイド!初心者でもわかる条件分岐の基本
No.4
Java&Spring記事人気No4
Laravel
Laravelのresponse()関数の使い方を完全ガイド!初心者でもわかるレスポンス制御とHTTPレスポンスの基本
No.5
Java&Spring記事人気No5
Laravel
LaravelのAPIルーティングを設定する方法!初心者でもわかるapi.phpの使い方
No.6
Java&Spring記事人気No6
CodeIgniter
CodeIgniterルーティングを完全攻略!正規表現でURLを自由自在に操る方法
No.7
Java&Spring記事人気No7
Laravel
LaravelでRemember Me(ログイン状態保持)機能を実装する方法を完全解説!初心者でも安心の認証入門
No.8
Java&Spring記事人気No8
PHP
PHPのswitch文の使い方!多くの条件分岐をスッキリ書く方法と注意点