当我将 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
方式来解释。(.*)
.*