Posted at

WordpressをAWSの無料証明書でHTTPS化する。

More than 1 year has passed since last update.


WordpressをAWS無料証明書でHTTPS化する方法

Wordpressのメディアファイルを、CloudFrontとS3を使って連携する構成です。

ご参考になればと思い書き留めます。


Wordpressのメディアファイル以外をHTTPS化する。


証明書を作成する

まず、Wordpressが置いてあるEC2が属しているリージョンで、Certificate Managerを立ち上げます。



こんな感じで作成します。

メールでアクティベートをして、有効化します。


ロードバランサーに証明書を設定する

ロードバランサーをHTTPSをリスナーに設定して作成します。


Route53にロードバランサーを設定する

Aレコードに、AliasをYesにして、表示されたロードバランサーを設定します。


WordpressにReally Simple SSLを入れます。

プラグインの新規追加から、Really Simple SSLを選択してインストール。

その後、有効化します。

設定は何も変更しないでも動作しました。

これで、メディアファイル以外のHTTPS化が終わりです。


S3+CloudFrontのCDN構成でのメディアファイルをHTTPS化する


S3にバケットを作成する

バケットポリシーはいかに設定します。

{

"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::domainname/*"
}
]
}


CloudFront用の証明書をバージニア北部のリージョンに作成する

ここが一番大事です。

バージニア北部に作成しないと、CloudFrontの証明書として使用できません!!


CloudFrontに証明書を登録する

先ほど作ったS3を指定します。

今回は、cdn.domainname.comとしたので、証明書作成のときに、

*.domainname.comとしました。


Route53に、CloudFrontを登録する

cdn.domainname.comのところに、CNAMEのAlias=Noで、xxxxxxx.cloudfront.netを登録する。


Wordpressに、Amazon Web Servicesプラグインを入れる

プラグインの新規作成からインストールし、有効化する。

アクセスキーと、シークレットキーを設定しますが、これは、サーバ上のWordpressのフォルダの中にある、wp-config.phpに設定します。


wp-config.php

define( AWS_ACCESS_KEY_ID, ******************** );

define( AWS_SECRET_ACCESS_KEY, ******************************** );


Wordpressに、WP Offload S3 Liteを入れる

プラグインの新規作成からインストールし、有効化する。

プラグイン一覧から、Settingsを選んで、以下のような設定にする。

変更したのは、Copy Files to S3を有効にしたのと、CloudFront or Custom Domainを設定した。


 これで完成!!