我正在尝试使用IIS 7.5的URL重写模块将所有HTTP请求重定向到我的ASP.NET网站的HTTPS。该网站目前工作正常但强制用户在地址栏中输入https://。
我按照this article中的说明操作。所有似乎都没问题:我已经尝试将规则放在web.config中,它会在UI中显示出来;我也做了相反的事情,当我使用UI添加规则时,可以看到web.config中的更改。我已为网站取消选中RequireSSL。不幸的是,当我尝试通过http://。
访问网站时,我仍然只获得了404我尝试了一些不同的动作网址,包括{HTTP_HOST} / {R:1}和下面显示的动作网址。没有任何效果。
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}"
redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
</system.webServer>
我对此很新,而且在这一点上非常沮丧。看起来这样应该会容易得多。任何建议将不胜感激,谢谢..
从ServerFault重新发布,因为它暂时没有回答。
答案 0 :(得分:2)
HTTP错误404.找不到请求的资源
你真的对HTTP 80端口有绑定吗?听起来你没有它(只有HTTPS)。
我问的原因是引用文本是确切消息,如果我向IIS域请求未知(当没有定义catch-all)或域未绑定时,我会看到到请求的端口。