コンテキストAWS APIゲートウェイは、X-AMZN-ERRORTYPEと403を返す:AccessDeniedExceptionヘッダ
IはAWSトリオで構築されたサーバレスWebアプリケーション有する:APIゲートウェイ+ラムダ+ DynamoDBのを。 アプリの最初のページは2つのhttpリクエストを送信してデータを取得し、回答を結合して結果を出力します。
/APIGateway /projects => Lambda (DynamoDB request) \
web app => { } => display data
\ APIGateway /organizations => Lambda (Github API request)/
問題
すべては、私がページを求める初めての罰金行きます。しかし、このページを更新しようとすると/organizations
リクエストで403
エラーが発生します。そこから、3〜5分待ってからもう一度ページをリフレッシュすると、すべてのデータが正しく表示され、ページが完全に表示されます。場合によっては、GET /organizations
が失敗し、時にはGET /projects
です。
ページを正しく更新できるようにするために、なぜ私は待つ必要がありますか?どうすれば修正できますか?私はOPTIONS /organizations
要求
200 OK
応答を取得
-
追加情報私はこの
403
エラーを持っているは、...私は全然
GET /organizations
要求が表示されませんクラウドウォッチログ(リクエストはありますが、GET
はありません) レスポンスヘッダは以下のとおりです。
Connection:keep-alive Content-Length:60 Content-Type:application/json Date:Mon, 12 Dec 2016 11:31:29 GMT Via:1.1 af2dd53407c5eae7ddf5c44e27a5dd1b.cloudfront.net (CloudFront) X-Amz-Cf-Id:Kl1JS1ZCCJuGAmydXv3qDoq3E-rFZrlZbs8Bgvw8RSrb8xsjEyAJNQ== x-amzn-ErrorType:AccessDeniedException x-amzn-RequestId:8689b86c-c05e-11e6-b851-7ff70d9a3125 X-Cache:Error from cloudfront
私はクロームコンソールでCORSエラーを持っている
(私は
x-amzn-ErrorType:AccessDeniedException
とX-Cache:Error from cloudfront
を持っている理由を知らない):XMLHttpRequest cannot load https://********.execute-api.eu-central-1.amazonaws.com/prod/organizations. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 403.
(...たとえCORSが有効で、
Access-Control-Allow-Origin:*
がOPTIONS
応答ヘッダーに存在しても)
ありがとうございました!
ねえシルヴァンは、あなたがこれを引き起こして問題を見つけましたか?私はこれに少しでも取り組んでいます。 – Jeremiah