AWS

AWS ELB+HTTPS+ApacheでWordPressを運用する勘所

AWS

AWS ELB ALB ロードバランサー WordPress

AWS上でELBとHTTPSを利用したサイトを構築する場合は、ちょっとしたお作法があるのでかいつまんでご紹介します。今回のご紹介はApacheですが、WEBサーバがNginxであっても行う要領は同じです。

 

 

処理の流れ

  • ユーザ(80) >> ELB(80) >> EC2(80) →443へリダイレクト
  • ユーザ(443) >> ELB(443) >> EC2(80)

HTTPSの運営の場合、証明書はELB(ALB)に設定し、EC2は常に80番で動かしておくのがセオリーなんです。ELB(443), EC2(443)にすると実装が簡単ですが、証明書の更新など後々が面倒になっちゃいますよ~!

 

 

この記事で紹介する内容

  1. ヘルスチェックファイルの設定
  2. ELB環境のログの対応
  3. WordPressのリダイレクトループ対応

になります。

 

ヘルスチェック設定

 

ELBヘルスチェック用ファイルを作成します。

 

ELBがアクセスしてきた時に見れるように、サーバ側で設定します。

ELBのヘルスチェック用パスには”/healty.html”と設定します。

 

 

 

ログ対応

これを設定しておかないと、ロードバランサのIPが登録されてしまい、ユーザのIPがログに残せません。

 

remoteipモジュールがあるか確認します。

 

 

ログフォーマット対応

 

 

画像やファビコンの画像をログに出力させないようにするコンフィグ

画像のアクセスがアクセスログに記録されると、ログからシェルでアクセス集計を行う要望が出た時に邪魔になります。また、アクセスログの出力が少なくなりディスクI/Oにも良いです。

 

 

バーチャルホストファイルの設定

80番でサーバに直接きたアクセスはELBにアクセスにいくようにリダイレクトさせます。

 

 

Apacheの設定を反映させます。

 

 

WordPress側 HTTPSを認識させます。

wp-config.phpにリダイレクトループにならないように、ELB経由でhttpsになっていれば$_SERVER[‘HTTPS’]の変数をonになるようにWordPressのアプリ側に設定が必要になります。

 

後はELBに証明書を設定して、ドメインにアクセスしたらELBに流れるようにRoute53に設定してあげればOK。

 

お疲れ様です!

 

AWS
最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG