ロードバランサ(LB)にSSLアクセラレータ機能がある場合、LBで443を受け、後ろのWebサーバは
80で受けるのが定石になっています
その場合、追加のポートとしてLBで80を受けてWebサーバの80に流すことはできますが、その場合は
当たり前ですがhttpでのアクセスになります
httpでアクセスしてもhttpsにリダイレクトされる方法をapacheを使って紹介します
80で受けるのが定石になっています
その場合、追加のポートとしてLBで80を受けてWebサーバの80に流すことはできますが、その場合は
当たり前ですがhttpでのアクセスになります
httpでアクセスしてもhttpsにリダイレクトされる方法をapacheを使って紹介します
■構成
80で受けた場合はリダイレクト用のポートに流してあげます
ここではリダイレクト用のポートを1080とします
ここではリダイレクト用のポートを1080とします
80(LB)→1080(Web)→リダイレクト→443(LB)→80(Web)
■設定
VirtualHost 1080用の設定ファイルにリダイレクトするための設定を記載します
ServerNameは必要に応じて設定してください
mod_rewriteが必要になりますのでapacheで有効にしてください
mod_rewriteのインストール方法も紹介しています
http://kakakikikeke.blogspot.jp/2013/06/apachehttphttps.html
RewriteCond は443以外のアクセスだった場合としています
この場合は絶対443にはならないのでその後のRewriteRuleでhttpsのURLに強制リダイレクトします
やっていることは非常に単純ですが、これでhttpにアクセスしてもhttpsにリダイレクトされるようになります
他にもやる方法はあると思いますので参考までに見てください
<Virtualhost *:1080> ServerName www.test.com RewriteEngine On RewriteLog "logs/ssl_rewrite_log" RewriteLogLevel 0 RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://www.test.com%{REQUEST_URI} [R,L] </Virtualhost>
ServerNameは必要に応じて設定してください
mod_rewriteが必要になりますのでapacheで有効にしてください
mod_rewriteのインストール方法も紹介しています
http://kakakikikeke.blogspot.jp/2013/06/apachehttphttps.html
RewriteCond は443以外のアクセスだった場合としています
この場合は絶対443にはならないのでその後のRewriteRuleでhttpsのURLに強制リダイレクトします
やっていることは非常に単純ですが、これでhttpにアクセスしてもhttpsにリダイレクトされるようになります
他にもやる方法はあると思いますので参考までに見てください
0 件のコメント:
コメントを投稿