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
として定義した方法によって説明できます。(.*)
.*