【AWS】CloudFrontのBehaviorsを使った分岐でハマったところ
1681 ワード
とりあえずメモレベルで残す
装飾とかまとめはまた別途書きます。
やりたかったこと
Route53に登録したホストゾーンのドメインに対して、URLから判定してS3かAPIGatewayに飛ばす
- Default (*)の場合はS3(Staticページ)に飛ばす
-
/api/*
の場合はAPIGatewayに飛ばす
ハマったところ
- APIGatewayのStageが
dev
を設定 - CloudFrontの
Origins
に設定したAPIGatewayの設定のOrigin Path
に/dev
を設定 -
CloudFront
のBehaviors
のPath Pattern
には/api/*
されていた -
<cloud front path>/api/*
でAPI叩いたら"message": "Missing Authentication Token"
が返ってきた
原因
- 上記の設定だと、APIGatewayの
/api/dev/
Stageにアクセスしようとするため、リソースがないと言われる- CloudFrontの
Behaviors
のPath Pattern
に設定する値と、APIGatewayのStageが一致している必要がある - CloudFrontの
Origins
に設定したAPIGatewayの設定のOrigin Path
の値は設定しない
- CloudFrontの
対応
- APIGatewayのStageに
api
を追加 - CloudFrontの
Behaviors
のPath Pattern
に/api/*
を設定 - CloudFrontの
Origins
のOrigin Path
の設定値はなし
参照ページ
“Missing Authentication Token” — CloudFront/APIG Troubleshooting
Author And Source
この問題について(【AWS】CloudFrontのBehaviorsを使った分岐でハマったところ), 我々は、より多くの情報をここで見つけました https://qiita.com/hisayuki/items/d1418961bcc28b1bfdcd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .