Reason: CORS header 'Access-Control-Allow-Origin' does not match 'xyz'

理由

Reason: CORS header 'Access-Control-Allow-Origin' does not match 'xyz'

エラーの原因

リクエストを作成しているオリジンが、 Access-Control-Allow-Origin ヘッダーによって許可されたオリジンのいずれにも一致しないことを表します。このエラーは、レスポンスに複数の Access-Control-Allow-Origin ヘッダーが含まれていると発生することがあります。

コードが CORS リクエストを使用してアクセスしているサービスが管理下にあるのであれば、 Access-Control-Allow-Origin ヘッダーがそのアクセス元が含むように構成されていること、及びそのヘッダーがレスポンス内に 1 つしか含まれていないことを確認してください。ヘッダー自体はコンマ区切りで複数のオリジンを受け付けるので、新しいオリジンを追加することは難しくはありません。

例えば Apache では、サーバー構成(の中の <Directory>, <Location>, <Files>, <VirtualHost> のうち適切な節)に次のような行を追加してください。構成はふつう、 .conf ファイルまたは(一般的な名前は httpd.confapache.conf)または .htaccess ファイルにあります。

警告: オリジンの一部として HTTPS または HTTP プロトコルを記載する必要があります。

apacheconf
Header set Access-Control-Allow-Origin 'origin'

Nginx では、このヘッダーを設定するコマンドは次の通りです。

nginx
add_header 'Access-Control-Allow-Origin' 'origin'

関連情報