我正在尝试在 MVC 中使用 url rewrite 2.0 为 IIS 编写 SSL 重定向规则。这个想法是,当访问者尝试访问敏感区域(fe 登录和注册表单)时,应该将访问者重定向到 https,如果他转到任何其他页面,则会发生相反的情况:https 请求被重定向到 http . 到目前为止我做了什么:
<rule name="Use SSL for private pages" patternSyntax="ECMAScript" stopProcessing="true">
<match url="[.*/]*(user|signup)" ignoreCase="true" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="OFF" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}"
appendQueryString="true" redirectType="Permanent" />
</rule>
<rule name="Don't use SSL for non-private pages" patternSyntax="ECMAScript" stopProcessing="true">
<match url="[.*/]*(user|signup)" ignoreCase="true" negate="true" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="ON" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}{REQUEST_URI}"
appendQueryString="true" redirectType="Permanent" />
</rule>
问题是:当我加载安全区域时,浏览器拒绝加载不安全的内容(javascript 和图像)。在添加规则“不要将 SSL 用于非私有页面”之前,我没有遇到这个问题。
任何人都可以帮我解决这个问题或提出其他方法吗?但是,它应该使用 web.config 和 url rewrite