IIS URL重写添加端口号

我有一个相当基本的IIS重写规则configuration为采取任何非HTTPS请求,并将其redirect到HTTPS版本:

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

出于某种原因,如果有人访问http://example.com (例如没有www ),它会将它们redirect到https://www.example.com:80端口号显示在浏览器中),这会导致协议不匹配你不能在80上使用HTTPS。这个规则已经生效了很多年,我确信我从这里得到了这个规则: https : //www.sslshopper.com/iis7-redirect-http-to-https。 HTML 。

任何build议,为什么这会导致端口号出现,并成为不正确的? 对我来说完全是无稽之谈。

谢谢!