HTTP IIS7 応答「403 禁止」を HTTPS にリダイレクトするにはどうすればよいですか?

HTTP IIS7 応答「403 禁止」を HTTPS にリダイレクトするにはどうすればよいですか?

HTTP リクエストが自動的に HTTPS にリダイレクトされるように、Web ホストに Web サイトに SSL を設定するように依頼しました。

これは完了したと言われていますが、HTTP 経由でサイトにアクセスすると、次のようになります:

Response HTTP/1.1 403 Forbidden

HTTPSは正常に動作します。

これを修正するように依頼したところ、これはサーバー設定 (サーバー側で管理) ではなく、web.config (私がアクセスできる) で修正する必要があると言われました。

この 403 をキャッチしてリダイレクトするために、次の変更を試みましたが、失敗しました。

<system.web>
    <customErrors defaultRedirect="/test.html" mode="On"></customErrors>
</system.web>

<httpErrors errorMode="Custom">
    <remove statusCode="403" subStatusCode="-1" />
    <error statusCode="403" prefixLanguageFilePath="" path="/test.html" responseMode="ExecuteURL" />
</httpErrors>  

HTTP が実質的に HTTPS を必要とするようにリダイレクトされるように、これを解決するにはどうすればよいですか?

答え1

結局、ホストで最初に「SSL が必要」のチェックを外す必要があり、その後、次の方法で web.config のトラフィックをリダイレクトできました。

<rule name="HTTP to HTTPS redirect" stopProcessing="true">
  <match url="(.*)" />
    <conditions>
      <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    </conditions>
 <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>

関連情報