APIキャッシュを有効にして、AWS内のAPIゲートウェイの背後にラムダがラムダを配備しました。不正なCORS応答を提供するAPIゲートウェイを使用するラムダ
これは標準がOPTIONS法Access-Control-Allow-Origin: *
のヘッダマッピングを作成したCORSオプションを有効に使用して構成されています。
しかし、ラムダでメソッドを実行するためにAPIが呼び出されると、応答のヘッダーが要求のorigin
ヘッダーに設定されています。
これは、私がAPIキャッシュを有効にしたので、問題を引き起こしています。
これは、応答がドメイン固有のAccess-Control-Allow-Origin
応答でキャッシュされているようです。すなわちAccess-Control-Allow-Origin: *
ではなくAccess-Control-Allow-Origin: {whatever the origin header of the request was
これは、クライアントからCORSエラーを引き起こしています。
この現象に関するドキュメントはありません。なぜこれが起こっているのですか?
'Origin'という値を持つ' Vary'レスポンスヘッダもレスポンスに追加できるようにすると、 'Origin'リクエストヘッダの値がキャッシュされたリクエストの' Origin'値と異なるときこれは、キャッシュをスキップさせるという効果があり、代わりに新しいネットワーク要求を行う必要があります。 [HTTP仕様の関連部分](https://tools.ietf.org/html/rfc7231#section-7.1.4)と[VaryのMDN記事](https:// developerを参照してください。 mozilla.org/en-US/docs/Web/HTTP/Headers/Vary)。 – sideshowbarker
ラムダがAPIゲートウェイで使用されている場合、これは@sideshowbarkerとは考えられません。 AWS内で応答ヘッダーを設定する機能は削除されました。 –