【问题标题】:IIS SSL Is Not Functioning ProperlyIIS SSL 无法正常运行
【发布时间】:2017-12-01 02:02:40
【问题描述】:

我想要分配给我的网站的新 SSL 证书。 我在 VPS 服务器上管理它,因此我可以完全控制环境。我已成功按照 GoDaddy 的说明验证并安装了我的 SSL 证书。现在的问题是,我仍然可以使用 HTTP 导航到我的网站,但它变成了一个不安全的网站...

在 IIS 应用程序中进行了 4 个绑定

  • example.com(https、443、已选择证书)
  • www.example.com(https,443,已选择证书)
  • example.com (http, 80)
  • www.example.com (http, 80)

我已经修改了我的 Web 应用程序的“SSL 设置”菜单。如果我选中“需要 SSL”并选择“接受”并且如果我尝试访问 http://example.com,IIS 将返回 403 - 禁止访问:拒绝访问。但 https://example.com 工作正常。如果我禁用它,http 和 https 都可以正常工作。但它通常不应该自动转到 https 连接吗?如果我从 Web 应用程序中删除 http 域绑定,它们自然会得到 404 not found。

我将如何实现这一目标? 顺便说一句,服务器使用 IIS 10。

干杯。

【问题讨论】:

    标签: ssl iis https


    【解决方案1】:

    正常情况下不是应该自动转到https连接吗?

    不,它不会自动重定向。当您启用 RequireSSL 时,您只是强制连接应该通过 SSL。

    我将如何实现这一目标?

    您必须同时具有 http 和 HTTPS 绑定,并且不要设置 RequireSSL。现在我们必须使用 URLRewrite 模块显式配置自动重定向。

    如您所见,这些规则存储在 inetpub\wwwwroot\web.config 文件中。

    `<system.webServer>
    <rewrite>
            <rules>
                <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}" />
                </rule>
            </rules>
        </rewrite>
     </system.webServer>`
    

    【讨论】:

      【解决方案2】:

      “要求 SSL”选项将首先阻止所有非 HTTPS 请求访问网站,因此在这种情况下,您的非 HTTPS 绑定将毫无用处。

      如果要添加自动 HTTP 到 HTTPS 重定向,有两种方法:

      方法一

      1. 从网站中删除 HTTP 绑定。
      2. 在受保护的网站上启用“需要 SSL”选项。
      3. 创建第二个网站,并将 HTTP 绑定添加到该网站。
      4. 将 IIS 重定向添加到第二个网站。使用“HTTP 重定向”工具。

      方法二

      1. 禁用“需要 SSL”选项。
      2. 确保您已安装“URL 重写”模块。
      3. 在网站上打开 URL 重写工具并使用模板进行 HTTP 到 HTTPS 重定向。

      【讨论】:

      • 谢谢伙计,我真的很感激!将尽快申请!
      【解决方案3】:

      但它通常不应该自动转到https连接吗?

      没有。向 IIS 添加证书并不意味着它会自动开始重定向。这通常由应用程序本身或 IIS 的 URL Rewrite 模块等重写方法处理。

      如果我选中“需要 SSL”并选择“接受”并且如果我尝试访问 http://example.com

      这是用于客户端证书。您可能不想启用。

      如果我从 Web 应用程序中删除 http 域绑定,它们自然会得到 404 not found。

      您希望启用这两个绑定,并如上所述将某些内容从 HTTP 重定向到 HTTPS。

      【讨论】:

      • 感谢朋友的解释
      猜你喜欢
      • 1970-01-01
      • 2012-01-26
      • 2014-09-16
      • 1970-01-01
      • 2021-04-22
      • 2015-12-08
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多