介绍
HTTPS和http是什么关系呢?相信很多人都有这个疑问,简单的说HTTPS=http+tls,http我们都知道,就是远程将数据显示在浏览器上的协议,tls是什么呢?安全传输层协议(TLS),简单的说,就是用于在两个通信应用程序之间的数据加密作用的。在重要场合,比如金钱交易等安全性要求高的网站,都会使用HTTPS协议。
接下来,我们yum安装Apache,重点在其上面实现https。
实验环境
操作系统:CentOS7.3
Httpd:2.4.6
httpd的安装
因为yum源中有httpd,我们就直接安装吧
yum -y install httpd
TLS实现
我们的httpd已经安装好了,那怎么让tls和httpd结合呢?
tls是Apache的模块,要想实现,只需要安装此模块即可。
TLS模块安装
yum -y install mod_ssl
systemctl restart httpd
此时HTTPS已经实现了,哇,就这么简单?是的就是这样简单,你可以用浏览器访问一下https://IP/index.html,看是不是已经实现了。返回一个非安全链接就对了。为什么是非安全链接呢?就涉及到证书了,请继续向下看。
证书
tls的加密其实用的是非对称加密。什么是非对称加密呢?
简单的说就是使用不同的秘钥进行加密和解密。对称加密具体怎么实现,什么原理,这里我不能继续深入讲解了,自行百度吧。
在双方通讯的过程中,数据的加密需要依赖于对方的公钥,这样对方拿到数据就可以使用自己的私钥解密了。因此就需要保证公钥的确是对方给出的公钥,就需要一种可靠的机制,这种机制就是证书。证书相当于中间人的角色。
那么怎么确保中间人的身份是否合法?在安装操作系统时候,系统默认导入了信任的一些根证书,利用这些根证书,一级一级向下证明,即可实现中间人“证书”的身份。证书的颁发机构就叫做CA。
我们刚刚在在浏览器访问时候,不让访问的原因是,在安装mod_ssl 这个模块时候,已经默认自建了证书,