重定向至正确名称之前出现证书错误

重定向至正确名称之前出现证书错误

在 Windows Server 2012 R2 中使用 IIS。

我有一个网站,可以通过url.com和访问www.url.com。我已https://url.com使用https://letsencrypt.org/

我想将所有传入的请求重定向到https://url.com/{path} 也就是说,它需要处理

我将此重写规则添加到了 webconfig。

   <rewrite>
      <rules>
        <rule name="HTTP to HTTPS redirect" stopProcessing="true">
          <match url="(.*)" />
            <conditions>
              <add input="{HTTPS}" pattern="off" ignoreCase="true" />
            </conditions>
            <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
        </rule>
      </rules>
    </rewrite>

这对任何 URL 都有效,例如,http://url.com/some但如果我输入,https://www.url.com/s我会收到一条错误消息,指出连接不安全。如果我尝试http://www.url.com

我怎样才能让它工作?

答案1

您无法避免请求到达 www.example.com 而不出现错误,因为重定向发生在 SSL 协商“之后”,并且客户端正在请求您没有证书的名称。

Letsencrypt 完全允许您使用多个名称的同一份证书。因此您必须这样做以避免客户端浏览器投诉或证书中的名称不匹配。

答案2

检查您正在使用的 SSL 证书中的主题名称和主题备用名称。

似乎它仅对 url.com 有效,而不对 www.url.com 有效

您需要在申请证书时提及这一点

相关内容