HTTPS协议介绍


HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与TCP之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面 。

。。。。以下是来自我的二指禅。

HTTPS是HTTP over SSL/TLS的缩写,表示“使用SSL/TLS的HTTP”,中文也可以叫做“超文本传输安全协议”,它就是HTTP协议加上SSL/TLS协议够贱的可以加密传输、身份认证的网络协议。HTTP的默认端口为80而HTTPS的默认端口是443。

SSL/TLS

SSL是Secure Socket Layer的缩写,表示“安全的套接字层”,TLS是Transport Layer Security的缩写,表示“传输层安全”,可以使用这两个协议对网络连接进行加密,和SSH类似,主要用于非对称加密。

TSL可以被看做是SSL的新版本,在SSL3.0版的基础上,进行了改进,目前使用的其实都是TLS,不过沿用传统,一般也可以继续叫做SSL。

为什么需要HTTPS

因为HTTP协议是明文传输信息的,不对数据进行任何加密,因此他不安全,而HTTPS可以确保所有经过服务器传输的数据包都是经过加密处理的。还可以使得假冒服务器无法冒充真正的服务器。

CA

是Certificate Authorities的缩写,中文的意思是“证书(公证)权威(机构)”。通过HTTPS协议会向CA确认数字证书是否注册过。如果是,此次链接才会建立,如果不是浏览器则会报警。数字证书是经过CA认证的公匙,其内容不止包含公匙,还包含其他内容,具体教程(​​传送门​​)。

为Appache配置HTTPS

防火墙开启443端口

sudo su
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload


查看已经放行的端口

fire-cmd --list-ports


安装Apache的SSL支持模块(​​PKI 体系概述​​)

yum install -y mod_ssl
systemctl restart httpd
#之后可以看到这个文件
ls /etc/httpd/conf.d/ssl.conf
#查看私钥
ls /etc/pki/tls、private/localhost.key


数字证书的获取方式

自签名证书,被推荐用于测试目的和个人项目   免费

由社区为基础的认证供应商(如StartSSL和CACERT)颁发 免费

从值得信赖的知名证书颁发机构购买证书 收费

自签名证书的使用

(看我主页的下一篇文章)