ELBを介した場合、HTTPからHTTPSにリダイレクトする際の設定方法です。
$ vi /etc/httpd/conf.d/redirect.conf
<VirtualHost *:80> RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} =http RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent] </VirtualHost>
$ /etc/init.d/httpd restart
ELBの設定として、ELB⇔EC2はポート80のみ空けておくだけで問題ありません。
クライアント⇔ELBは80と443のポートを空けておく必要があります(80を443に変えるので当然ですが)。
この方法はAWSの公式サポートに記述されているものになります。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/redirect-http-https-elb/
7月24日から公開されるChromeのバージョン68からSSL化してないWebサイトは警告が出るようになります。
運用しているシステムで静的ページは結構HTTP接続のままだったので今回この対応を行いました。
なお、本ブログは対応しませんが。。。