HTTPS简介
HTTP 报文以明文形式传输,不安全。
HTTPS使用SSL来实现安全的通信。
Hypertext Transfer Protocol Secure 安全超文本传输协议。
HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的子层。
SSL
Secure Sockets Layer 安全套接字协议。
①认证用户和服务器,确保数据发送到正确的客户机和服务器
②加密数据以防止数据中途被窃取
③维护数据的完整性,确保数据在传输过程中不被改变
证书
要启用https,必须向一个可信任机构申请一个 HTTPS 证书。专业的证书都是收费的,不过也有面向个人的免费的证书。
证书用于保证密钥的合法性
证书的主体可以是用户、计算机、服务等
证书格式遵循X.509标准
数字证书包含信息:
使用者的公钥值
使用者标识信息(如名称和电子邮件地址)
有效期(证书的有效时间)
颁发者标识信息
颁发者的数字签名
数字证书由权威公正的第三方机构即CA签发
PKI
Public Key Infrastructure 公开密钥基础设施
三要素:证书、认证机关、证书库
HTTPS证书的选择
专业版OV型证书,不显示企业名称
高级版EV型证书,显示企业名称
HTTPS注意事项
不支持三级域名解析
不支持续费,证书到期需重新申请进行替换
https显示绿色,说明整个网站的URL都是https的
https显示黄色,说明包含部分http的不安全连接
https显示红色,说明证书是假的或者过期了
HTTPS证书申请
虚拟机实验步骤:
1.检查环境
#openssl版本至少是1.0.2,nginx包含模块http_ssl_module
2.使用openssl模拟CA权威机构创建私钥
创建目录 mkdir -p /etc/nginx/ssl_key
创建私钥 openssl genrsa -idea -out server.key 2048
3.生成自签证书,同时去掉秘钥的密码
配置HTTPS
创建自定义配置文件/etc/nginx/conf.d/ssl.conf
在火狐浏览器中输入https://192.168.1.7,会出现一个警告,点击高级--接受风险并继续。
因为该证书是我们自己签发的,并非权威机构颁发的,所以会有警告。
http重定向至https