LoginSignup
5
5

More than 3 years have passed since last update.

複数オリジンからのアクセスをHTTP Access-Control-Allow-Originヘッダーで許可する方法

Last updated at Posted at 2020-12-19

HTTP Access-Control-Allow-Originヘッダーを用いて、複数の別オリジンのフロントエンドアプリから、APIを呼び出すためのCORS設定方法をまとめる。

ユースケース

  • 以下のようなApacheをWebサーバーとして配置する構成のアプリ(API)を、複数の別オリジンのフロントエンドアプリから呼び出したい場合

apache_cors.png

実現手段

  • Apacheの設定ファイルを、許可するオリジンからのリクエストである場合にAccess-Control-Allow-Originヘッダーを付与するように記述する。
SetEnvIf Origin "^http(s)?://(www\.)?(domain-x\.com|domain-y\.com|domain-z\.com)" ALLOWED_ORIGIN=$0
Header set Access-Control-Allow-Origin %{ALLOWED_ORIGIN}e env=ALLOWED_ORIGIN
  1. リクエストのOriginヘッダーを正規表現判定する。※判定ルールは環境変数として外出ししても良い。
  2. マッチしたOriginを変数ALLOWED_ORIGINに代入する。
  3. レスポンスのAccess-Control-Allow-OriginヘッダーにOriginヘッダーの値がセットされる。

参考情報

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5