IISでHTTPSリダイレクトを設定し、URLを保護する
ウェブサイトをSSL経由でロードするよう強制するためには、すべての不正なURLを安全な対になリダイレクトする必要があるでしょう。これは、すべてのユーザーとページがあなたのSSL証明書をサポートし、Webサーバーと訪問者間の通信を暗号化するために利用していることを確実にするために必要です。
なぜHTTPからHTTPSにリダイレクトする必要があるのか?
ウェブサイトをSSL証明書で適切に保護するために、ウェブサイトにリダイレクトを組み込むことを決定するかもしれません。これにより、すべてのhttp URLが安全なhttps URLにリダイレクトされるようになります(例:http://mydomain.com は https://mydomain.com にリダイレクトされます)。この方法により、ユーザーがあなたのサイトで訪問しているURLに関わらず、常にそのページの安全なバージョンに自動的に転送されます。
リダイレクトが設定されていない場合、一部のユーザーやページは安全でないURLにアクセスしている可能性があり、SSL証明書の利点を享受できません。これらの変更をIISでURLリライトルールモジュールを使用してどのように組み込むか見てみましょう!
リダイレクトモジュールへのナビゲート
最初に必要なのは、リダイレクションモジュールに移動することです。これを行うには、IISマネージャー(inetmgr.exe)を開き、サーバーを展開し、リダイレクトを適用したいサイトを選択します。
メインウィンドウペインで、IISサブカテゴリの下にある「URL Rewrite」を見つけるまで下にスクロールし、このアイコンをダブルクリックしてください。
このモジュールが表示されない場合は、こちらの公式IISサイトからインストールする必要があります。
URLリライトモジュールはIIS 7以降でのみ利用可能であることに注意してください。
最初のリダイレクトルールを作成する
URL Rewriteモジュールを開いたので、上部右側のアクションメニューから「ルールを追加」を選択します。空のルールを作成します。
すべてのHTTP URLをHTTPSに強制的にリダイレクトするルールを作成するには、以下の設定でルールを作成する必要があります:
要求されたURL: パターンに一致します
使用する: 正規表現
パターン: (.*)
…「無視」ケースボックスがチェックされている状態で。
(.*)というパターンを設定し、正規表現にマッチさせることによって、リダイレクトルールは受け取ったすべてのURLに対してマッチし、処理を行います。(.*)という正規表現のパターンは、URL内のすべての文字の組み合わせにマッチします。
これらの設定が整ったら、「条件」セクションまでスクロールダウンし、ドロップダウンメニューを展開します。
「追加」を選択し、次の設定を入力してください:
条件入力: {HTTPS}
入力文字列を確認: パターンに一致するかどうか
パターン: ^OFF$
「OK」をクリックしてください。
さて、新しいルールの「受信ルールの編集」ページで、「アクション」セクションまでスクロールしてください。
アクションタイプを「リダイレクト」に設定し、リダイレクトURLセクションに以下のURLを入力します:
https://{HTTP_HOST}{REQUEST_URI}
「クエリ文字列を追加する」のチェックを外し、リダイレクトタイプが「永久(301)」になっていることを確認してください。
注意:この記事の最後でリダイレクトに困難を感じている場合は、リダイレクトURLに試すための別のオプションは次のとおりです:
https://{HTTP_HOST}/{R:1}
私たちは、すべての非セキュアなURLを自動的かつ永久にセキュアなhttpsバージョンのURLにリダイレクトするために、サイトに対して恒久的(301)リダイレクトを使用しています。他にもいくつかのリダイレクトの種類がありますが、301リダイレクトを使用することで、私たちがHTTPSに対して望む通りにウェブサイトを動作させることができます。
上記の設定がすべて正しいことを確認したら、右上のアクションペインで「適用」を選択してください。
ウェブサイトのすべてのURLがHTTPSにリダイレクトされることを確認するためのリダイレクションのテスト
新しいリダイレクトルールをウェブサイトに適用したら、ブラウザでリダイレクトをテストできるようになります。
ブラウザがキャッシュされたデータを使用していないことを確認するために、「プライベート」または「シークレット」ウィンドウを開き、サイト上の任意のhttp URLに移動してください。
これらのURLにアクセスすると、自動的にあなたのページのHTTPSバージョンにリダイレクトされるはずです。リダイレクトの前にSSL証明書をすでにテストしていると仮定すると、非安全なURLがリダイレクトされると、URLバーの横にhttpsと安全なロックアイコンが表示されるはずです。
リダイレクトに問題がある場合や、正しくリダイレクトされていない場合は、関連するウェブサイトの web.config ファイルを確認して、リダイレクトルールが正しく追加されているかどうかを確認することが私たちの利益になります。
IISでサイトに移動し、その名前を右クリックして「エクスプローラー」を選択することでこれを確認できます。
これにより、ウェブサイトのルートディレクトリに移動し、web.configという名前のファイルが見つかります。このファイルをメモ帳で開いて、その内容を確認してください。
あなたのweb.configには、その内容のどこかに以下の情報が含まれている必要があります:
<ルール>
<ルール名="HTTPS強制" 有効="true" 処理を停止="true">
<条件>
web.configファイルにこのようなセクションがない場合は、上記のコードブロックを閉じタグ</system.webServer>の直前に追加して、ファイルを保存してください。
あなたは今、自分のウェブサイト上のすべてのhttp URLにアクセスでき、それらが安全なhttps URLにリダイレクトされるのを確認できるはずです!おめでとうございます、あなたのサイトのすべてのページとURLがその安全な対応先にリダイレクトされています!






