ヤマムギ

growing hard days.

*

WordPressをAmazon CloudFrontで配信してついでにACM(AWS Certificate Manager)を使って常時SSL化する

      2017/07/27

当サイトの500と502の発生状況がドイヒーであるとの苦情をいただきまして、Amazon CloudFrontで配信することにしました。
そのついでにACM(AWS Certificate Manager)使って常時SSL化にもしました。

こちら、WordPressサイトをCloudFrontで配信する
とこちら、WordPressとCloudFront連携時のリダイレクトループ解決方法
をものすごく参考にさせていただきました。

ACM(AWS Certificate Manager)で証明書の発行

ACM(AWS Certificate Manager)の承認メールを受け取るためにAmazon SESを設定するをご確認ください。

CloudFrontの設定

[Create Distribution]をクリックします。

[Get Started]をクリックします。

[Origin Domain Name]にCloudFrontがアクセスするドメイン名を入力します。
検索エンジンとか、外部には公表しないドメイン名をAレコードとかで設定しておいてそれを入力します。

今回常時SSLにするので、[Redirect HTTP to HTTPS]にします。
Allow HTTP Methodsは GET,HEAD,OPTIONS,PUT,POST,PATCH,DELETEにして、
Whitelist HeadersでHostをホワイトリストに追加します。
TTLはデフォルトのまま86400(24時間)にしました。

このへんはデフォルトから何も変更してません。

Alternate Domain Names(CNAMEs)に検索エンジンや、外部に公開するドメイン名を入力します。
Custome SSL CertificateでACMで発行した証明書を選択します。

ロギングを有効にして任意のS3バケットを設定しました。
作成します。

作成後、[Behaviors]-[Create Behavior]から
「/wp-admin/」と「.php」をTTL 0(キャッシュしない)の設定を作成しました。

作成後、Domain Nameに設定された ~.cloudfront.net のドメイン名をAlternate Domain Names(CNAMEs)に設定したドメイン名のCNAMEにDNSサーバで設定します。
Route 53の場合はAliaseでOKです。

あと、エラーページで500,502が運悪く発生した場合は10秒でキャッシュを削除するようにしました。

WordPressの設定

SSL対応のための設定です。

wp-config.php

上の方に以下を記入

wp-optionsテーブル

データベースのwp-optionsテーブルの
option_name in (‘siteurl’,’home’)
をSQLのupdateでhttpsのアドレスにしました。

Nginxの設定

confファイル(/etc/nginx/conf.dとかにありますが人によって設定はまちまちかと)

location/{}にhttp -> httpsのリダイレクトのために以下を追記しました。

再起動です。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , , ,

  関連記事

AWS Glueチュートリアル

AWS Glueのマネジメントコンソールの左ペインの一番下にチュートリアルがあり …

CloudWatchエンドポイントがIPv6に対応したのでCloudWatchエージェントからカスタムメトリクスを送信しました

追記 翌日のブログで、CloudWatchエージェントのアップデートにより、Cl …

VyOSでssm-userからvyosユーザーに切り替える

EC2 VyOSで/etc/resolv.confを設定しました VyOSにSS …

AWSアカウントでルートユーザーが使用されたときにTeamsへ投稿する

Organizations組織内のアカウントのいずれかでルートユーザーが使用され …

EC2 Linux ユーザーデータ実行ユーザーとカレントディレクトリの確認

きっと、rootなんだろうなあと認識してたのですが、自分の目で確認したことはなか …

cfn-initでEC2インスタンスにPHPをインストールしWebサーバーを起動する

AWS CloudFormation による Amazon EC2 へのアプリケ …

AWS Network Firewallの入門

公式のGetting started with AWS Network Fire …

LINE BOT AWARDS 2017に応募しました

LINEの友達追加QRです。 動作のご確認にどうぞ LINE BOT AWARD …

JAWS-UG 大阪 関西女子合同 Amazon Personalizeハンズオンやってみました

久しぶりに大阪でJAWS-UGに参加です。 Amazon Personalize …

AWS Organizationsで新規メンバー登録したアカウントを組織から離して解約

2021年現在ではこの方法しかないと認識していますので書き残します。 そのうち新 …