AWS+ELB+Apacheでhttpsとwwwに転送

  • このエントリーをはてなブックマークに追加
  • Pocket

ApacheのRewriteを使って「httpでアクセス」と「wwwなしでアクセス」された場合に「https://www.~」にリダイレクトする設定。

内容的には大したことないがあまりApacheを使ったことがないので忘れない用にメモ。

  • Route53
    • www.hogehoge.com
    • hogehoge.com
  • ELB
    • http 80 => http 80
    • https 443 => http 80
  • EC2
    • ubuntu 14.04
    • Apache 2.4.7

Route53に”www.hogehoge.com”と”hogehoge.com”を登録してどちらもエイリアスにELBを設定している感じ。

ELBのリスナーは上記の通りで443も80に流す設定。

やりたいこと

  • httpでアクセスされたらhttps://www.へ
  • wwwなしでアクセスされたらhttps://www.へ

今時、www付きのサイトも珍しい気もする。

ユーザが迷子にならないようにしてあげましょう。

Rewrite設定

wwwなしアクセスを転送

とても簡単。

httpアクセスを転送

ELBのリスナーを上記の用に設置している場合、Apacheにはhttpでもhttpsでも80ポートに流れるためちょっと工夫が必要らしい。

バランサのヘルスチェックを301でリダイレクトしてしまうと管理下から外されちゃうそうな。

ただ、これはヘルスチェックの用のポートを用意するなどで対応可能。
お好みで。

最終的な設定

/etc/apache2/sites-available/hogehoge.conf

これでhttpでもwwwなしでもhttps://wwwに転送されて迷子にならない。

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。

コメントを残す

*