CloudFront

CloudFront の Origin に API Gateway を入れた場合に リダイレクトが発生する

API Gateway で API を作った場合など、そのURLをCloudFrontのOriginに指定したい時がある。その時に、Origin Protocol Policy を、HTTP Only にしていると、リダイレクトが発生する。HTTPS Onlyにする必要がある。

AWS 利用時に、HTTPS 通信する方法いくつか

ドメイン認証でよいのであれば、https で通信する時は、AWS Certificate Managerで証明書を取得し、CloudFront で選択すれば良いが、いろんな条件でそれが出来ないことがあるため、そのときの対処方法と問題点です。 AWS Certificate Manager で、CNAME を利…

CloudFront にCloudFront を入れるときの注意点

CloudFront は、Request header に含まれる Hostの値が、CloudFrontに設定されたCNAMEと一致していないとレスポンスを返さない。 CloudFrontに設定されたCNAMEは、すべてのCloudFrontで2つ同じCNAMEを設定できない。Behavior の Forward Headers は、Host を…

CloudFront lambda@Edge で、Basic認証を設定する

S3+CloudFrontなど、サーバーレスでBasic認証をかける方法を何年も検討していたのですが、CloudFrontにLambdaを割り当てられるようになり、試したところ実装することがで来ました。まだPreview版ですが、フォームから申請することで、数日で許可が得られます…

Lambda@Edge を利用し、Cloudfrontに設定ようとしたとき、エラーが表示される

There was an error creating the trigger: Completing this action would cause the maximum number of distributions with Lambda function associations per owner to be exceeded (maximum allowed is 0). Lambda@Edge は現在プレビュー版となっており、…

Certificate Manager で取得した証明書が、CloudFront で選択できない

Certificate Manager が 東京リージョンでも取得できるようになりましたが、 CloudFrontは、バージニア北部 (us-east-1) で取得した証明書でないと設定できません。よくある質問 - AWS Certificate Manager(簡単に SSL/TLS 証明書を作成、管理、配置) | AW…

CloudFront 使用時、scheme を取得する

CloudFront を使用時、https での通信でも、nginx の $scheme に http が入ってしまっている。CloudFront-Forwarded-Proto ヘッダーに、original の scheme が入っているので、それを利用する。 CloudFront Whitelist Headers に、CloudFront-Forwarded-Prot…