首先科普一下http与https
https:是以安全为目标的HTTP通道,即HTTP下加入SSL层进行加密。其作用是:建立一个信息安全通道,来确保数据的传输,确保网站的真实性。
https 协议的工作原理
客户端在使用HTTPS方式访问与Web服务器通信时有以下几个步骤:
- 客户端使用https url访问服务器,则要求web服务器建立ssl链接
- web服务器接收到客户端的请求之后,会将网站的证书(证书中包含了公钥),传输给客户端
- 客户端和web服务器端开始协商SSL链接的安全等级,也就是加密等级
- 客户端浏览器通过双方协商一致的安全等级,建立会话秘钥,然后通过网站的公钥来加密会话密钥,并传送给网站
- web服务器通过自己的私钥解密出会话密钥
- web 服务器通过会话密钥机密与客户端之间的通信
http 和 https 的区别及优缺点?
- HTTP是超文本传输协议,信息是明文传输,HTTPS协议要比HTTP协议安全,HTTPS是具有安全性的SSL加密传输协议,可防止数据在传输过程中被窃取、改变、确保数据的完整性
- HTTP协议的默认端口为80,HTTPS的默认端口是443
- HTTP协议连接很简单,是无状态;HTTPS协议是有SSL和HTTP协议构建的可进行加密传输、身份认证的网络协议、比HTTP更加完全
总结就是HTTPS比HTTP更加安全,但是HTTPS需要部署CA证书,费用较高,但目前很多域名服务商都会提供一年免费的证书,另外宝塔面板上也有Encrypt证书自动申请,但是Encrypt证书也会因为种种原因不会自动申请或申请失败导致域名掉SSL的情况,这边记录一下另外一种更可靠的方式,利用KeyManager申请一年的免费证书,一年到期后可以再申请。
KeyManager安装并申请证书
1. 打开百度搜索KeyManager进入官网下载并安装。
2. 安装后打开软件,进入软件 私钥管理 -> 添加 API Key。
3. 根据不同DNS服务商添加不同的信息(建议获取平台 Accesskey的时候使用子账号并设置只能获取开发Accesskey相关的权限)
4. 添加完API Key以后,KeyManager便会多出一个证书申请的菜单。
5. 点击证书申请 注册登录FreeSSL账号
6. 登录账号 点击申请证书,填入相对应的域名后申请证书
7. 填完信息根据验证信息进行验证,DNS验证的话可以到域名服务商进行DNS解析。
8. 证书申请成功导出证书,用记事本打开后在宝塔后面的域名内设置相应的值
9.或者导出,点击keyManager的查看PEM也可以查看到信息
利用freessl.cn和KeyManager生成一年免费SSL
1.打开freessl.cn
2.填入相应的信息
3.创建后一键部署
4.打开KeyManager
5.查看PEM或导出证书到服务器上填入相应的信息
本文作者为muyiyl,转载请注明。