根据此解决方案,我在应用 URL 重写规则将流量从 http 重定向到 https 后遇到了这个问题:
web.config 中的 Https 重定向
这会导致错误,因为我的解决方案配置了带有启动项目 url 的本地 iis。
在这种情况下似乎发生的是项目 url 无法在 iis 7.5 中解析,因为 https 绑定不在主机名上,而是在空白主机名上。
诊断此问题的另一种方法是,如果您进入项目属性、Web 选项卡,并尝试将项目 url 更改为 https 而不是 http。您将收到此消息,就好像您在 iis 中的设置有误(但实际上它正在工作并且 iss 正在为链接提供服务)。
为 Web 项目 xxxx 指定的本地 IIS URL https://xxxx.com/尚未配置。要保留这些设置,您需要配置虚拟目录。您现在要创建虚拟目录吗?
我最终做的是排除要在本地开发 url 中应用的 https 重定向规则。
<rewrite>
<rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{HTTP_HOST}" pattern="^local.development.com" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>