概要
今回 halu.dev
のdomainを取得したので www.xxx.net
(念為伏) から引っ越した。S3のstatic website hostingにおけるredirectは勿論 http -> https
は可能だが、 https -> https
は不可である。
例えば以下のようにredirectさせる。
www.xxx.net
->www.halu.dev
xxx.net
->www.halu.dev
halu.dev
->www.halu.dev
手順
S3 static website hostingの設定
www.xxx.net
xxx.net
の名前でbucketを作成する(分かりやすいように)。Static website hosting
を設定する。target bucket or domain
:www.halu.dev
- protocol: https
証明書の発行
- ACMで証明書を作成する。
xxx.net
www.xxx.net
halu.dev
www.halu.dev
Distributionの構築
- CloudFrontでdistributionを作成する。
Alternate Domain Names (CNAMEs)
: redirect元のdomain (例: halu.dev)SSL Certificate
: redirect元のCustom証明書を選択 (例: halu.dev)Origin domain name and path
:www.xxx.net.s3-website-ap-northeast-1.amazonaws.com
(S3 endpoint)
DNS recordの設定
- CloudFrontで生成されたdomain nameをredirect元のDNS recordに登録する。
- type: A (root domainの場合)
- record name:
halu.dev
- value: Alias xxx.cloudfront.net
- record name:
- type: CNAME
- record name:
www.xxx.net.
- value: xxx.cloudfront.net
- record name:
- type: A (root domainの場合)
301 statusの確認
301 moved permanently (恒久的redirect) のstatusとなっていることを確認する。
curl -I -H 'Host:halu.dev' xxx.cloudfront.net HTTP/1.1 301 Moved Permanently Content-Length: 0 Connection: keep-alive Location: https://www.halu.dev/ Server: AmazonS3 Age: 1546 X-Cache: Hit from cloudfront Via: 1.1 xxx.cloudfront.net (CloudFront) curl -I https://halu.dev HTTP/2 301 content-length: 0 location: https://www.halu.dev/ server: AmazonS3 age: 15211 x-cache: Hit from cloudfront via: 1.1 xxx.cloudfront.net (CloudFront)