先说一下http吧,这是传输数据没有经过任何处理的明文传输形式,等于是让你的数据在网络上裸奔,如果私密信息被非法盗用后果不堪设想。
所以https就出现了,它是怎么工作的呢?
先说它的工作流程:
1、客户端对服务端发起请,并带上客户端生成的随机数以及客户端支持的加密套件
2、服务端收到后生成服务端证书,并返回在服务端生成的随机数据与服务端证书
3、客户端根据之前客户端生成的随机数+服务端生成的随机+服务端证书生成加密的主密钥并发送至服务端
4、用加密的主密钥进行私钥解密得到主秘钥
5、这里客户端服务端就可以通过加密的方式来传输输数据了
https就一定安全吗?答案肯定是否则的,因为钓鱼网站也是模坊你的https网站。引诱你上当,并在其网站上输入你的用户名密码。 所以当大家看到https为红色时,说明这个证书没有备过案或是备案过期了,这时要特别小心。如果https是绿色的说明可以放心使用。
没有绝对的安全,但是https仍然是最安全的数据保护方案。
实现方案
可用nginx配置https
配置文件中加入下图中的红框部分内容:
用户坊问http时直接跳转到https的nginx配置:
再增加一个server配置,内容如下图红框部分