一、HTTPS简介:
1、HTTP 协议(HyperText Transfer Protocol,超文本传输协议):是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 。
2、HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。
如上图所示 HTTPS 相比 HTTP 多了一层 SSL/TLS
SSL(Secure Socket Layer,安全套接字层):1994年为 Netscape 所研发,SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。
TLS(Transport Layer Security,传输层安全):其前身是 SSL,它最初的几个版本(SSL 1.0、SSL 2.0、SSL 3.0)由网景公司开发,1999年从 3.1 开始被 IETF 标准化并改名,发展至今已经有 TLS 1.0、TLS 1.1、TLS 1.2 三个版本。SSL3.0和TLS1.0由于存在安全漏洞,已经很少被使用到。TLS 1.3 改动会比较大,目前还在草案阶段,目前使用最广泛的是TLS 1.1、TLS 1.2。
二、阿里云免费证书获取
1、阿里云首页搜索
2、证书购买
需要注意的地方:
一个阿里云帐户最多签发20张。
保护一个域名或者一个子域名,例如 domain.com、ssl.domain.com、ssl.ssl.domain.com 分别需要买3张单域名证书。
购买完了,等待半个小时或者一个小时左右就可以审核通过
3、下载生成证书
选择
选择需要下载的类型
我们这里选择IIS类型下载,解压后一个是证书,一个是证书密码
二、安装证书
1.证书导入
- 开始 -〉运行 -〉MMC;
- 启动控制台程序,选择菜单“文件"中的"添加/删除管理单元”,从“可用的管理单元”列表中选择“证书”-> 选择“计算机帐户”;
- 在控制台的左侧显示证书树形列表,选择“个人”->“证书”,右键单击,选择“所有任务"-〉"导入”, 根据"证书导入向导”的提示,导入PFX文件(此过程当中有一步非常重要: “根据证书类型,自动选择证书存储”)。安装过程当中需要输入密码为pfx-password.txt中的密码。
- IIS导入
2. 分配服务器证书
- 打开 IIS 管理器面板,找到待部署证书的站点,点击“绑定”(保留80)
-
选择“绑定”->“添加”->“类型选择 https” ->“端口 443” ->“ssl 证书【导入的证书名称】” ->“确定”,https默认端口为 443 端口(如果使用其他端口如:8443,则访问时必须输入:https://www.domain.com:8443)
注意:
A. 在配置https的服务器Windows防火墙上允许443(绑定https时默认为443)的端口访问。
B. 配置https网站时,443端口不可占用。
三、默认访问https路径
1.IIS安装URL重写模块:下载=> https://www.iis.net/downloads/microsoft/url-rewrite
2.下载安装完成之后会发现IIS界面多了个URL重写的组件
3.两种方式添加:(1)双击URL重写打开,点击添加规则,手动添加,添加完成后会在项目根目录Web.config里添加如下xml代码: (2)直接打开项目根目录Web.config,添加如下代码:
<system.webServer>
<rewrite>
<rules>
<rule name="redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{HTTPS_HOST}" pattern="^(localhost)" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
</system.webServer>