ApacheリバースプロキシでHTTPSリダイレクトをかける方法

今回は Apache でリバースプロキシを使っている場合における、HTTP から HTTPS にリダイレクトをかける方法を説明します。単純に Redirect ルールを設定するだけでは実行されないことがあるので注意が必要です。

こんにちは。iQeda [@iQeeeda] です。

今回は Apache でリバースプロキシ (Reverse Proxy) を使っている場合における、
HTTP から HTTPS にリダイレクトをかける方法を説明します。

80 番ポートの VirtualHost にリダイレクト設定する

http://eeeeg.tokyo にアクセスしたとき、
https://eeeeg.tokyo にリダイクトするように設定してみます。

VirutalHost の設定を確認してください。

大事なのは <VirtualHost *:80> 内の処理です。
80 番ポートで HTTP アクセスしたとき、HTTPS にリダイレクトをかけるようにします。

<VirtualHost *:80>
    RewriteEngine On
    RewriteRule ^/$ https://eeeeg.tokyo/
    Redirect / https://eeeeg.tokyo/
    ServerName eeeeg.tokyo
</VirtualHost>

<VirtualHost *:443>
    SSLEngine On
    SSLCertificateFile [cert.pemのパス]
    SSLCertificateKeyFile [privkey.pem のパス]
    ProxyPass / http://127.0.0.1:3000/
    ProxyPassReverse / http://127.0.0.1:3000/
    ProxyPreserveHost On
</VirtualHost>

Apache を再起動する

設定を変更したら sudo service httpd restart を実行して Apache を再起動します。
これで HTTPS にリダイレクトされるようになります。

関連記事

No comments yet