IIS中的重定向到FQDN不起作用

时间:2017-09-11 16:13:03

标签: iis url-rewriting iis-8 url-rewrite-module

我发现这些问题的答案(特别是this one)对我来说都没有,所以我走了。

我们在Windows Server 2012 R2上运行IIS 8。我们在服务器上安装了通配符证书(* .mydomain.com)。在默认网站上,我们有一个绑定来接受端口443上的传入https请求。我有第二个网站设置了一个绑定,以接受端口80上的传入http请求。

在后一个网站上,我创建了一个URL重写规则,将所有传入的非HTTP流量重定向到https://myserver.mydomain.com{REQUEST_URI},这非常有效。如果我浏览到http://myserver.mydomain.com/homepagehttp://myserver/homepage,我会成功地重定向到包含完整域名的网站的HTTPS版本,因此它加载得很好。

如果我浏览到https://myserver.mydomain.com/homepage,该网站也会完美加载。

但是,我正在尝试在默认网站上创建另一个URL重写规则,以便向https://myserver/homepage(注意:HTTPS但省略完整域名)的请求被重定向到https://myserver.mydomain.com/homepage。原因是SSL证书仅在包含完整域时才匹配。目前,如果我输入https://myserver/homepage,我会收到安全警告(NET::ERR_CERT_COMMON_NAME_INVALID)。

我根据上面链接的答案创建了我认为应该有效的规则,但它不起作用,我不知道为什么。我的规则看起来像这样:

<rewrite>
        <rules>
            <rule name="Redirect to FQDN" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="^myserver$" />
                    <add input="{HTTPS}" pattern="^ON$" />
                </conditions>
                <action type="Rewrite" url="https://myserver.mydomain.com/{R:1}" />
            </rule>
        </rules>
    </rewrite>

即使已启用并启用此规则,当我浏览到https://myserver/homepage时,我会收到安全消息。我对这条规则做错了什么?

1 个答案:

答案 0 :(得分:0)

问题是您只有*.mydomain.com的SSL。当您访问https://myserver时,它将返回证书错误,因为您的证书对此域无效。

为了更好地了解SSL连接期间的步骤: enter image description here

在您的情况下,问题出在第2步和第3步之间