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.conf
や apache.conf
)または .htaccess
ファイルにあります。
警告: オリジンの一部として HTTPS または HTTP プロトコルを記載する必要があります。
Header set Access-Control-Allow-Origin 'origin'
Nginx では、このヘッダーを設定するコマンドは次の通りです。
add_header 'Access-Control-Allow-Origin' 'origin'