http を https にリダイレクトした後、IIS 接続がリセットされる

http を https にリダイレクトした後、IIS 接続がリセットされる

URL を http から https にリダイレクトすると、ブラウザで接続リセット エラーが発生します。問題を特定しようとして調べたところ、ログにはエラーC:\Windows\System32\LogFiles\HTTPERRしか表示されませんでしたTimer_ConnectionIdle。私が調べたところ、それらは関連がありませんでした。

フォルダー内にログはなくFailedReqLogFiles、フォルダー内にアクセス ログ以外は何も表示されませんW3SVC1

ここからどこへ行けばいいのか全くわかりません。これが私のリダイレクト ルールです。

一致するURL
要求された URL: パターンに一致します
使用: 正規表現
パターン:.*大文字と小文字を区別しない

条件
論理グループ化: すべて一致
入力: {HTTPS}
タイプ: パターンに一致
パターン: オフ

サーバー変数
空白

アクション
アクションの種類: リダイレクト
リダイレクト URL:https://{SERVER_NAME}/{R:0}
クエリ文字列の追加: チェック済み
リダイレクトの種類: 永続的 (301)

答え1

このスニペットはweb.config私にとってはうまくいきます。

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

これとあなたの設定の主な違いは、HTTP_HOSTと のようですSERVER_NAME。私は置換パターンを使用していますR:1が、あなたは を使用しています。しかし、これは私が一致パターンを ではなくR:0として定義した方法によって説明できます。(.*).*

関連情報