HTTP へのリクエストを HTTPS にする簡単な方法
常時 SSL が必要とされる世の中になってきました。SSL 通信だと HTTP/2 の恩恵も預かれるため、対応されている方も多いのではないでしょうか。
URL をリダイレクトしたり正規表現を使って Rewrite したりする方法もありますが、ここは簡単に Strict-Transport-Security
構文を使うことをおススメします。たった1行書くだけで HTTPS 通信にしてくれます。
IIS ウェブサーバーの場合は web.config 内、<httpProtocol> の <customHeaders> に以下の1行を追加。
<add name="Strict-Transport-Security" value="max-age=31536000" />
例としては、以下のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Strict-Transport-Security" value="max-age=31536000" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Linux 系ウェブサーバーの場合は、.htaccess に以下の一行を追加。
Header set Strict-Transport-Security “max-age=31536000”
以上で、http://www.hoge.com/aaa/bbb/ へのリクエストが、https://www.hoge.com/aaa/bbb/ に切り替わってくれます。非常に簡単かつ便利です。