IIS 服务器安装证书,并设置HTTP 自动跳转 HTTPS

 

IIS 服务器安装证书,并设置HTTP 自动跳转 HTTPS

SSL 证书  -> 操作指南  -> 证书安装指引  ->  IIS 服务器安装证书

·

 

操作场景/需求场景


 

使用场景:首先是我们的需求,比如我们的网站启用了SSL全站加密,但是浏览器默认进入的地址是:http://www.AAA.com (不带s的网址)。那就需要将http://www.AAA.com自动跳转到 https://www.AAA.com  的入口中去,不然还是会有没加密的路径还可以访问的问题发生。

本文档指导您如何在 IIS 中安装 SSL 证书。

说明:

 

  • 本文档以证书名称 www.domain.com 为例(可以换成您的网址)
  • 本文档以操作系统 Windows10 为例。由于操作系统的版本不同,详细操作步骤略有区别。

 

操作步骤


一、证书安装

  1. 已在 SSL 证书管理控制台 中下载并解压缩 www.domain.com 证书文件包到本地目录。
    解压缩后,可获得相关类型的证书文件。其中包含 IIS 文件夹和 CSR 文件:
    • 文件夹名称:IIS
    • 文件夹内容:
      • www.domain.com.pfx 证书文件
      • keystorePass.txt 密码文件(若已设置私钥密码,则无 keystorePass.txt 密码文件)
    • CSR 文件内容: www.domain.com.csr 文件
      说明:

      CSR 文件是申请证书时由您上传或系统在线生成的,提供给 CA 机构。安装时可忽略该文件。

  2. 打开 IIS 服务管理器,选择计算机名称,双击打开 “服务器证书”。如下图所示:
  3. 在服务器证书窗口的右侧 “操作” 栏中,单击【导入】。如下图所示:
  4. 在弹出的 “导入证书” 窗口中,选择证书文件存放路径,输入密码,单击【确定】。如下图所示:
    说明:

    申请证书时若设置了私钥密码,输入密码时,请输入私钥密码。若申请证书时未设置私钥密码,输入密码时,请输入 IIS 文件夹中 keystorePass.txt 文件的密码。具体操作请参考 腾讯云的 私钥密码指引

  5. 选择网站下的站点名称,并单击右侧 “操作” 栏的【绑定】。如下图所示:
  6. 在弹出的 “网站绑定” 窗口中,单击【添加】。如下图所示:
  7. 在 “添加网站绑定” 的窗口中,将网站类型设置为 https,端口设置为443,并指定对应的 SSL 证书,单击【确定】。如下图所示:
  8. 添加完成后,即可在 “网站绑定” 窗口中查看到新添加的内容。如下图所示:

 

二、HTTP 自动跳转 HTTPS 的安全配置关键

执行下列步骤前请下载安装 rewrite 模块

     IIS的URL重写模块(URL Rewrite)的官方下载地址:https://www.iis.net/downloads/microsoft/url-rewrite

              

 注意:如果安装后发现IIS默认网站的右侧IIS下没有【URL 重写】(一般是在 SSL设置(锁图标)的旁边),则可能需要重启电脑或服务器。 

        

                                    

 

说明:

 

  • 正常跳转可按照下列编辑规则。若您有其他需求可以自己设置。
  • HTTP 跳转 HTTPS 过程中,如果您的网站元素中存在外部链接或者使用的 HTTP 协议,导致整个页面不完全是 HTTPS 协议。部分浏览器会因为这些因素报不安全的提示,例如链接不安全。您可以单击不安全页面中的 “详细信息” 查看报错原因。

 

 

方式A: 在IIS服务管理器里直接做URL重写

1. 打开 IIS 服务管理器。

2. 选择网站下的站点名称,双击打开 “URL 重写”。如下图所示:


进入 “URL 重写” 页面,并单击右侧 “操作” 栏的【添加规则】。如下图所示:


4. 在弹出的 “添加规则”窗口中,选择【空白规则】,单击【确定】。如下图所示:




5. 进入 “编辑入站规则” 页面。如下图所示:

填写说明:

◈名称: 强制 HTTPS   
       名称可以根据自己的喜好修改,比如  “HTTP to HTTPS redirect” 或  “Redirect To HTTPS” 

◈匹配URL:在 “模式” 中手动输入 (.*)  (其它全部默认)

◈条件:展开 ,单击添加,弹出 “添加条件” 窗口。

    ▶条件输入:{HTTPS}

    ▶检查输入字符串是否:默认选择 与模式匹配

    ▶模式:手动输入^OFF$    或OFF  (默认勾选忽略大小写)

◈操作:填写以下参数。

    ▶操作类型:选择 重定向

    ▶重定向 URL:https://{HTTP_HOST}/{R:1}     (默认勾选 附加查询字符串(Q) )

    ▶重定向类型:选择 参阅其他(303)     或  永久(301)    。


6. 单击最右侧 "操作" 栏的【应用】,保存。

7. 返回网站首页,单击右侧 “管理网站” 栏的【重新启动】。即可使用 http://www.domain.com 进行访问HTTPS了。

完成。

 

 

补充说明:条件中的逻辑分组处理

首先参考上图中的逻辑分组信息。

输入类型模式是否
忽略大小写
备注
 {HTTPS} 与模式匹配 ^OFF$ YES 此项用来匹配你的请求是HTTPS还是HTTP
 {HTTPS_HOST} 与模式不匹配 ^(localhost) YES 可选:如果你是本地的localhost不会重定向到SSL

这个也是网上一堆复制粘贴不写清楚的地方。

 

 

 

 

方式B: 使用配置文件快速部署

标准的http自动跳转到https的web.config 文件,配置文件如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"
                        redirectType="Permanent" />
                </rule>
            </rules>
            <outboundRules>
                <rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
                    <match serverVariable="RESPONSE_Strict_Transport_Security"
                        pattern=".*" />
                    <conditions>
                        <add input="{HTTPS}" pattern="on" ignoreCase="true" />
                    </conditions>
                    <action type="Rewrite" value="max-age=31536000" />
                </rule>
            </outboundRules>
        </rewrite>
    </system.webServer>
</configuration>
View Code

 

 

 

方式C: 下载标准的配置文件web.config放在主页同级文件夹里

      标准的http自动跳转到https的web.config 文件:

        https://lanzoui.com/i0ltR26rlwyd

      注意:如果有特殊配置,请在配置文件里进行对应调整。

 

···

posted @ 2020-02-23 10:32  亟待!  阅读(1651)  评论(0)    收藏  举报
……