HTTP へのリクエストを HTTPS にする簡単な方法

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/ に切り替わってくれます。非常に簡単かつ便利です。