IIS で HTTP を HTTPS にリダイレクトする (Windows Server)

IIS Web サイトに SSL 証明書をインストールしたら、すべての受信した安全でない HTTP 要求を HTTPS URL に自動的にリダイレクトするルールを構成する必要があります。

IIS でリダイレクト ルールを作成するには、URL書き換えモジュール2.1IIS モジュール (https://www.iis.net/downloads/microsoft/url-rewrite)。

こちらもお読みください:Windows Server でのログオン時にサーバー マネージャーが起動しないようにする

次に、インターネット インフォメーション サービス マネージャー コンソールを開きます (InetMgr.exe) をクリックしてサイトを選択します。

に行きますSSL設定セクションを開き、「SSL が必要」オプションがオンになっていることを確認します。有効になっていません。そうでない場合、URL の書き換えリダイレクト ルールとの競合が発生し、次のような結果が得られます。403.4 禁止エラー。

次に、に行きますURL書き換えセクション。

選択ルールの追加->空白のルール

ルール名を指定し、次のパラメータ値を構成します。

  • リクエストされたURL ->Matches the Pattern
  • 使用方法 ->Wildcards
  • パターン ->*

「条件」で変更します論理的なグループ化すべて一致そしてクリックしてください追加。オプションを設定します。

  • 条件入力 →{HTTPS}
  • 入力文字列かどうかを確認します ->Matches the Pattern
  • パターン ->OFF
  • 大文字と小文字を区別しない:enabled

次に、アクションセクションとセット:

  • アクションの種類 ->Redirect
  • リダイレクト URL ->https://{HTTP_HOST}{REQUEST_URI}
  • リダイレクトタイプ ->Permanent (301)

リダイレクト ルールを作成したら、次のコマンドを使用して IIS をリセットする必要があります。

iisreset

ブラウザを開き、HTTP アドレスを使用して Web サイトにアクセスしてみます。自動的に HTTPS URL にリダイレクトされるはずです。

また、HTTP から HTTPS へのリダイレクト IIS ルールを手動で有効にすることもできます。web.configファイル:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="rewrite_rule_Redirect_HTTP_to_HTTPS" patternSyntax="Wildcard" stopProcessing="true">
           <match url="*" />
              <conditions>
                <add input="{HTTPS}" pattern="OFF" />
             </conditions>
           <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

IIS のこの HTTP から HTTPS へのリダイレクト ルールは、現在のバージョンの Windows Server 2022、2019、2016、および Windows 10/11 で機能します。

Related Posts