由于证书问题,在 web.config 中重定向

由于证书问题,在 web.config 中重定向

我在 IIS 7.5 上运行一些网站,使用一个 UCC SSL 证书,其中 10 个域名是安全的。其中大多数是something.company.ch,有些是something.anothercompany.ch

我们的 web.config 中有一个重定向规则,它将每个 HTTP 请求重定向到 HTTPS 请求

我的问题是,我们拥有 company.de、company.com 等域名,这些域名不受 SSL 证书保护,但这些域名实际上指向我的 company.ch 网站(IIS 中的网站绑定)。

如果有人现在打开 URL www.company.de,他就会收到证书错误。

为了获得最佳的谷歌排名,你应该在 web.config 中进行 HTTPS 重定向,所以我们认为我们需要这样做。所以我们正在尝试重定向http://www.company.de首先http://company.ch然后https://www.company.ch但不幸的是,这并不能解决问题。

有人知道如何解决这个问题吗?或者有更好的方法吗?

这是web.config规则部分

# Redirect of company.de to company.ch
<rule name="company.de to company.ch" patternSyntax="ECMAScript" stopProcessing="true">
    <match url=".*" />
    <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern="^company.de$" />
    </conditions>
    <action type="Redirect" url="https://www.company.ch/{R:0}" />
</rule>

# Redirect everything to HTTPS
<rule name="Redirect to HTTPS" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>

答案1

两件事情:

  1. 顶部的重定向仍然使用 https 而不是 http。
  2. HTTP_HOST 条件将严格匹配 company.de,而不是 www.company.de 之类的主机。虽然我的正则表达式可能错误(在手机上输入会导致拼写错误),但正则表达式应该类似于^(.*\.)?something.de$

相关内容