独自ドメインのBloggerをhttps化
去年の5月、Google Blogger(blogspot.com)は、完全にhttps化されました。
一方、独自ドメインのBloggerについては放置状態…。
年末年始休暇で暇だったので、独自ドメインのBloggerをhttps化できないかと頑張ってみました。
GitHubもBloggerと同じような状況で、多くの人が独自ドメインのhttps化をCDN(CloudFlareなど)で解決しています。
このブログでは画像の配信にAmazon Web Services (AWS)を使っている(AWS S3からのコンテンツ配信にCloudFrontを追加:南の島旅)ので、AWSのCDN(CloudFront)とSSL証明書(ACM)を利用することに。
方法は、閲覧者とCloudFrontの間をhttps接続、CloudFrontとGoogleのサーバー (ghs.google.com)をhttp接続にしました。
結果を先に書くと、httpsによる接続自体は問題なく出来ましたが、rel=’canonical’とサイトマップのurlをhttpsにするのが難しいことから断念。
サイトマップに関しては自分で何とかなりそうでしたが、rel=’canonical’はBloggerが対応しないと難しいですね。
せっかくなので、手順だけ以下に載せておきます。
※ドメインはお名前.comで購入(メール転送Plus)して、DNSはAWSのRoute53を利用している前提です。
1.
AWSマネジメントコンソールのCertificate Manager(ACM)で、「.独自ドメイン」のSSL証明書の発行。
※証明書の認証に独自ドメイン宛のメール受信が必要になります。
ドメインをお名前.comで購入している場合には、無料のメール転送Plusが利用できます。
AWS SESでメール受信する方法もありますが、メール転送Plusの方が圧倒的に楽ですね。
ワイルドカードではなく、wwwなどを指定してしまうと、メール転送Plusは使えません。(認証メールが@独自ドメインではなく、@www.独自ドメインに送信されます。)
2.
AWS CloudFrontで、独自ドメインのBloggerをhttps接続する設定をします。
まず、「Create Distribution」で新しいDistributionを作製。
delivery methodでwebを選択した後、初期設定から変更するのは、以下の7つです。
※CloudFrontとghs.google.com間の接続(Origin Protocol Policy)は、初期設定でHTTP Onlyになっています。
Original Domain Name → ghs.google.com
Viewer Protocol Policy → Redirect HTTP to HTTPS
Forward Headers → Whitelist(CloudFront-Is-Desktop-Viewer、CloudFront-Is-Mobile-Viewer、CloudFront-Is-Tablet-Viewer、Host、Origin、Referer)
Forward Cookies → All
Query String Forwarding and Caching → Forward all, cache based on all
Alternate Domain Names(CNAMEs) → xxx.独自ドメイン
Custom SSL Certificate (example.com) → 手順1で作成したSSL証明書を指定
3.
CloudFrontDistributionのStatusが、「in Progress」から「Deployed」になるまで待機。
意外と時間がかかるので、気長に待ってください。
4.
Route53で、xxx.独自ドメインに、Aレコードを設定。
Alias Targetのプルダウンで、手順2で作製したDistributionのAliasを指定します。
※DistributionのStatusが「Deployed」になるまで、プルダウンに作製したCloudFrontのAliasは表示されません。
以上で、Bloggerのhttps接続は、簡単に設定できました。
問題は最初にも書きましたが、rel=’canonical’とサイトマップのurlがhttpである点。
サイトマップについては、自分でhttpsのサイトマップを作製してS3にアップロード、CloudFrontのURLの振り分け機能を使えばxxx.独自ドメイン上にサイトマップを置くことが可能だと思います。
しかし、urlを正規化するrel=’canonical’がhttpに向いているのは、Bloggerで対応してくれない限り修正は難しそうです。
一方、独自ドメインのBloggerについては放置状態…。
年末年始休暇で暇だったので、独自ドメインのBloggerをhttps化できないかと頑張ってみました。
GitHubもBloggerと同じような状況で、多くの人が独自ドメインのhttps化をCDN(CloudFlareなど)で解決しています。
このブログでは画像の配信にAmazon Web Services (AWS)を使っている(AWS S3からのコンテンツ配信にCloudFrontを追加:南の島旅)ので、AWSのCDN(CloudFront)とSSL証明書(ACM)を利用することに。
方法は、閲覧者とCloudFrontの間をhttps接続、CloudFrontとGoogleのサーバー (ghs.google.com)をhttp接続にしました。
結果を先に書くと、httpsによる接続自体は問題なく出来ましたが、rel=’canonical’とサイトマップのurlをhttpsにするのが難しいことから断念。
サイトマップに関しては自分で何とかなりそうでしたが、rel=’canonical’はBloggerが対応しないと難しいですね。
せっかくなので、手順だけ以下に載せておきます。
※ドメインはお名前.comで購入(メール転送Plus)して、DNSはAWSのRoute53を利用している前提です。
1.
AWSマネジメントコンソールのCertificate Manager(ACM)で、「.独自ドメイン」のSSL証明書の発行。
※証明書の認証に独自ドメイン宛のメール受信が必要になります。
ドメインをお名前.comで購入している場合には、無料のメール転送Plusが利用できます。
AWS SESでメール受信する方法もありますが、メール転送Plusの方が圧倒的に楽ですね。
ワイルドカードではなく、wwwなどを指定してしまうと、メール転送Plusは使えません。(認証メールが@独自ドメインではなく、@www.独自ドメインに送信されます。)
2.
AWS CloudFrontで、独自ドメインのBloggerをhttps接続する設定をします。
まず、「Create Distribution」で新しいDistributionを作製。
delivery methodでwebを選択した後、初期設定から変更するのは、以下の7つです。
※CloudFrontとghs.google.com間の接続(Origin Protocol Policy)は、初期設定でHTTP Onlyになっています。
3.
CloudFrontDistributionのStatusが、「in Progress」から「Deployed」になるまで待機。
意外と時間がかかるので、気長に待ってください。
4.
Route53で、xxx.独自ドメインに、Aレコードを設定。
Alias Targetのプルダウンで、手順2で作製したDistributionのAliasを指定します。
※DistributionのStatusが「Deployed」になるまで、プルダウンに作製したCloudFrontのAliasは表示されません。
以上で、Bloggerのhttps接続は、簡単に設定できました。
問題は最初にも書きましたが、rel=’canonical’とサイトマップのurlがhttpである点。
サイトマップについては、自分でhttpsのサイトマップを作製してS3にアップロード、CloudFrontのURLの振り分け機能を使えばxxx.独自ドメイン上にサイトマップを置くことが可能だと思います。
しかし、urlを正規化するrel=’canonical’がhttpに向いているのは、Bloggerで対応してくれない限り修正は難しそうです。
← 前の記事:美ら島エアーフェスタ2016
次の記事:首里城公園 新春の宴 2017 →