IISのHTTPリダイレクト機能でhttp⇒https転送してみた


WindowsServerのIISで設定している独自ドメインを完全SSL化するためhttpをhttpsに転送する方法。
普通なら.htaccessの記述でリダイレクトするのですが、IISの場合は.htaccessは使えません。
いくつか方法があるのですが、今回はIISの機能にある「HTTPリダイレクト」を使ってhttpへ自動転送する方法をご紹介します。

HTTPリダイレクトがなければ、まずはインストールする

デフォルトではIISマネージャーをみても「HTTPリダイレクト」のアイコンが見当たらない可能性があります。ない場合は、役割と機能の追加で、まずインストールを行いましょう。


サーバーマネージャー(コントロールパネルの管理でもOK)から「役割と機能の追加」を選ぶ


サーバーの役割のところで、WebサーバーIISの上図のような階層にある「HTTPリダイレクト」をチェックし次へ次へで進みインストールする。



インストール後にIISマネージャーを起動(起動しっぱなしの場合は一度閉じて、マネージャーを再度起動)すると「HTTPリダイレクト」というアイコンが表示されるようになります。

IISのHTTPリダイレクト機能を使って、http⇒httpsをリダイレクトしてみた

事前にIISサイト設定を準備 httpとhttpsを分ける

右クリックでサイト追加し、httpsとhttpの2つ分けます。サイト名称もわかりやすくhttpとhttpsをつけるといいでしょう。以下のような感じで用意するのがいいと思います。

httpsサイト


・IISサイト名称を変更。「https」を含める。
・すでにある方をバインド編集でhttpの方は重複するので消してしまい、https1つにする。

httpサイト


・こちらを新規追加。IISサイト名称内にhttpを含める。
・こっちは物理パスはhttpsとは違うフォルダにすること。
空っぽでもいいのでダミーフォルダなど別の場所を指定する。
・バインドはhttpで情報を追加する。

httpの方にリダイレクトの設定する


ツリーの「http」サイトの方をクリックして、右側のアイコンの「HTTPリダイレクト」をダブルクリックします。



・「このリダイレクト先に要求をリダイレクト」のチェックを入れる。
・「すべての要求を」にチェックを入れる。
・状態コードは「永続的(301)」を選ぶ。
・最後に右上の適用ボタンを押す。


設定は以上です。


さいごに確認

web.configが自動生成されているよ


http側で指定したdamyフォルダをみてみると自動的にweb.configというファイルができています。
(web.configとは簡単にいえば .htaccess のIIS版です。)
中身xml形式のファイルです。テキストエディタで確認するとhttpsへ転送するような記述が記されています。

ブラウザで確認しましょう。

ブラウザでhttpがリダイレクトするか、httpsで無限リダイレクト状態にならず正常にアクセスできているかなど確認しておきましょう。
問題なくhttp⇒httpsに自動転送したら成功です。

今回の記事は以上です。

 

コメント