當我將 URL 從 http 重定向到 https 時,我在瀏覽器中收到連線重設錯誤。我正在嘗試找到問題所在,並查看了日誌C:\Windows\System32\LogFiles\HTTPERR
,但只看到了Timer_ConnectionIdle
錯誤。據我所知,這些沒有關係。
該資料夾中沒有日誌FailedReqLogFiles
,除了資料夾中的存取日誌之外我沒有看到任何內容W3SVC1
。
我完全不知道從這裡該去哪裡。這是我的重定向規則。
匹配網址
請求的 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
vs SERVER_NAME
。我正在使用替換模式R:1
,而您正在使用,但這可以透過我將匹配模式定義為而不是 的R:0
方式來解釋。(.*)
.*