1 Https协议
HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
HTTPS 默认工作在 TCP 协议443端口,它的工作流程一般如以下方式:
1、TCP 三次同步握手
2、客户端验证服务器数字证书
3、DH 算法协商对称加密算法的密钥、hash 算法的密钥
4、SSL 安全加密隧道协商完成
5、网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改。
HTTP 与 HTTPS 区别
HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。
2 使用https://freessl.cn/创建免费的HTTPS证书
其他免费证书申请:https://www.toolmao.com/1069.html
(1)填写域名
(2)设置类型
(3)成功创建后
注意:
(1)过程中要注册账号
(2)需要下载Keymanager软件
(3)复制注册过程中证书信息到KeyManager中。会自动创建证书。
至此,证书已经成功创建。
注意有效期一年,目前好像一个主域名可以创建20个免费证书,一个证书1年,猜测到期后需要重新申请。手动部署证书。
3 部署证书
(1)将服务器部署方式改为nginx,因为IIS不支持Lts1.2以上,导致提示“过旧”。所以改为nginx
(2)windows server服务器80端口被占用,卸载了SqlServer服务器才恢复正常,也是悲催。
(3)将站点首页放到nginx目录里:
(4)启动nginx,测试服务器能否启动
(5)测试网站能否访问
(6)生成https的nginx证书
(7)部署到服务器,修改一下nginx.conf文件。
(8)重新启动nginx服务器,使用https://www.hhp895.top访问。
(9)注意服务器托管在阿里上,还需要放行443端口。