我有一个安装了通配符 SSL 证书 (*.mydomain.com) 的 IIS7/WinServer2008 配置。Web 服务器拥有多个网站,每个网站都配置为通过主机标头从同一 IP(称为 IP1)路由。有些站点配置为使用 SSL,有些则没有。
所以我有...
a.mydomain.com -> SSL
b.mydomain.com -> non-SSL
c.mydomain.com -> SSL
d.mydomain.com -> non-SSL
e.mydomain.com -> non-SSL
ETC...
对于上面的示例站点 A 和 C(SSL 站点),我希望标准 HTTP URL 重定向到 HTTPS。因此,在 IIS 的根目录(红色箭头),我通过添加自定义状态代码 403.4 来配置错误页面设置(有关设置,请参见下文)。
redirectHttpToHttps.htm 文件的内容是...
<html>
<head><title>Redirecting...</title></head>
<script language="JavaScript">
function redirectHttpToHttps()
{
var httpURL= window.location.hostname + window.location.pathname + window.location.search;
var httpsURL= "https://" + httpURL;
window.location = httpsURL;
}
redirectHttpToHttps();
</script>
<body>
</body>
</html>
然后对于 A 和 C 站点,我用 SSL 绑定(专门路由到 IP1)替换了旧绑定,并将 SSL 设置设置为“需要 SSL”。
所以一切都很好。站点 A 将http://a.mydomain.com重定向到https://a.mydomain.com,同样,站点 C 也做同样的事情。
现在我有一个非通配符 SSL 证书要引入到组合中。这适用于绑定到 aaa.customerdomain.com 的站点。因此,我将证书添加到我的 IIS 服务器,并将 aaa.customerdomain.com 站点的绑定更改为使用 SSL 绑定与新证书并针对新 IP2。
所以现在如果我导航到https://aaa.customerdomain.com,一切都很好。但是,我不知道如何让http://aaa.customerdomain.com重定向到 SSL 版本。
有人可以帮助我以正确的方式配置 IIS,以便我可以完成所有这些工作吗?
要在 IIS 中处理各种类型的重定向,请尝试使用 url 重写模块
http://www.iis.net/downloads/microsoft/url-rewrite
然后将其添加到每个站点的 web 配置中以进行 http 到 https 重定向:
您还可以通过 IIS url 重写模块接口使用 GUI 完成此操作: