目次

目次

HTTPをHTTPSにApacheでリダイレクトさせる

アバター画像
酒井 修平
アバター画像
酒井 修平
最終更新日2017/08/07 投稿日2017/08/07

はじめに

環境移行のタイミングだったりで、ドメインや通信周りの設定を変更することがありました。 今回対応したシステムは過去にはHTTP通信も許可していたようで、実際未だにちらほらそういったアクセスがあり、 この移行のタイミングでこれらをHTTPSでリダイレクトさせるようにしました。

設定内容

ApacheのRewriteを利用してHTTPできたアクセスをHTTPSにリダイレクトさせました。

    # http -> https  rewrite
    RewriteEngine On

    RewriteCond %{HTTP:X-Forwarded-Port} !^443$
    RewriteCond %{HTTP_USER_AGENT} !^ELB-HealthChecker
    RewriteRule ^(.*)?$ https://%{HTTP_HOST}$1 [R=301,NE,L]

注意点としては、ELBで証明書をほどいているシステムが多いかと思いますが、ELBに80で来ているのか443で来ているのかを見る必要があります。 またELBからのヘルスチェックはリダイレクトされても困るので対象から外しました。 あとこれは要件によって変わるかもしれませんが、パラメータがエンコードされると困るので NEオプションを付けました。

アバター画像

酒井 修平

目次