ssl - IIS SSL 运行不正常

标签 ssl iis https

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

在 IIS 应用程序中进行了 4 次绑定(bind)

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

我摆弄过网络应用程序的“SSL 设置”菜单。如果我选中“需要 SSL”并选择“接受”,并且我尝试访问 http://example.com , IIS 返回 403 - Forbidden: Access is denied., 但是 https://example.com工作正常。如果我禁用它,http 和 https 都可以正常工作。但它通常不应该自动转到 https 连接吗?如果我从 Web 应用程序中删除 http 域绑定(bind),它们自然会以 404 not found 告终。

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

干杯。

最佳答案

isn't it normally supposed to go to https connection automatically?

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

How am I going to achieve this?

您必须同时拥有 http 和 HTTPS 绑定(bind)并且不设置 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>`

关于ssl - IIS SSL 运行不正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44790069/

相关文章:

ssl - IIS 重写规则将非 www 重定向到动态域等效且始终为 https

sockets - 我的浏览器如何知道它需要连接到端口 443 或端口 80?

php - ssl 更改后的 OpenCart 图像管理器问题 (1.5.6.4)

android - Android webview获取SLL认证信息

google-app-engine - 是否可以为我的 Google App Engine 应用程序安装/访问 SSL?

c++ - 无法从 QNetworkAccessManager 访问 Ssl 错误列表

ssl - TLS 1.0 发生了什么第二次握手

asp.net-mvc - 第一个Web API session 请求非常慢

c++ - libcurl 使用相同的用户定义端口发送定期请求

ssl - 运行 Fiddler 作为 HTTP 到 HTTPS 反向代理