【问题标题】:IIS, Redirecting and HTTPSIIS、重定向和 HTTPS
【发布时间】:2010-03-11 16:43:00
【问题描述】:

我有一个有趣的问题,即 HTTPS 端口未正确处理。这是一个相对较小的问题,我敢打赌它很容易解决,我只是没想到。

我们有一个使用 IIS 6 服务的网站 www.mylongdomainname.com。我们有一个通过https://www.mylongdomainname.com 处理的安全门户。现在,我们有几个通过电话使用的虚荣和营销 URL,例如 www.shortname.com 等。我设置了两个网站,一个处理所有带有实际服务于网站的标题 www.mylongdomain.com 的请求。另一个接受任何流量并永久重定向到 www.mylongdomain.com。这样一来,如果我们再添加更多域,它们都将归于同一个域,并且会将 mylongdomain.com 重定向到 www.mylongdomain.com。

这里一切正常。现在的问题是当我用谷歌搜索“shortname.com”时,返回的第一个结果与我搜索“mylongdomain”时的结果相同,但是,谷歌已经能够通过https://shortname.com 抓取其他页面并以这种方式对其进行索引。我们没有这些其他域的 SSL 证书,所以当您点击时,您会收到一个令人讨厌的不受信任的错误。

如果我们不通过电话使用这些 URL,这真的不是问题,而且你们都知道有多少人不知道 URL 栏和搜索框之间的区别。

有什么建议或提示吗?

【问题讨论】:

    标签: iis ssl https


    【解决方案1】:

    我会设置一个重定向,以便通过 301(永久)重定向将 https://shortname.com 发送到 http://shortname.com。这将立即结束令人讨厌的不受信任的错误。此外,这也会导致 Google 缓慢但肯定地更新其索引。

    有多种方法可以做到这一点。如果您使用的是 IIS7,则可以使用 URL Rewrite Module 并编写重定向规则来处理它。

    或者,如果您不在 IIS7 上,编写一些代码来完成此操作可能是完全可以接受的。我wrote some ASP.NET 我已经用了很多次来处理这个 HTTP/HTTPS 重定向。在您的特定情况下,您可以简单地使用我的代码并在 global.asax 的 Application_BeginRequest 函数中调用 SetSSL(False)。

    【讨论】:

    • 是的,我没有提到这一点,但我已经通过 asp.net 处理了。再看一遍,我犯的错误是我使用的是 Response.Redirect (302) 而不是 301。真傻。
    猜你喜欢
    • 1970-01-01
    • 2018-03-21
    • 2017-11-01
    • 2013-05-02
    • 1970-01-01
    • 2018-01-18
    • 2017-09-10
    • 2019-09-03
    • 2011-09-16
    相关资源
    最近更新 更多