当我在我的本地VS测试环境中将以下https重定向规则添加到我的web.config,然后构建应用程序以进行调试时,它在起始页面上给出了403。 (该规则本身在Azure上的简短独立测试web.config中运行良好。)
在我对本地web.config中的规则进行评论之后,我仍然得到了403.我恢复了之前的web.config并且仍然获得了403.然后我更改了起始页面,并且能够进入应用程序,并导航到原始起始页面。然后我尝试重新放入规则,并再次测试它,然后我开始收到配置字符串错误。最后,我从备份中恢复了整个站点,在整个循环中运行它,它似乎正常工作。
可能发生了什么?该规则是否适用于本地IIS,并将其混淆?所以,在部署网站之前,我是否应该添加规则?
<system.webServer>
<rewrite>
<rules>
<rule name="Force HTTPS" enabled="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
<directoryBrowse enabled="false" />