(文章目录)
前言
上次更新了http协议,这次将https也补充一下,https协议是http的安全版本,保证了数据安全,一起来看看吧
HTTPS——http secure
是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了数据传输的真实性
并通过数字证书颁发认证中心CA(Certification Authority),来保证网址的安全性,规避钓鱼网站(假冒真正网站骗取信息或钱财)。
CA通过与浏览器合作,只要是浏览器支持的CA证书,就信任其安全性,不然会提示存在隐患
证书实际上是对域名进行担保,是捆绑在域名上的
数字证书个人申请指南
阿里云:先购买域名,根据域名去申请免费的证书(购买比较贵),如果之前申请过免费证书,再次申请时按照流程在域名管理中加入一条信息用于认证即可
数字签名认证流程

数字签名颁发和使用流程

https的四次握手
前两次为证书验证,第三次为非对称加秘密,第四次之后为对称加密

更易懂版本:
第一步客户端发送R1和自身支持的加密算法
第二步服务端发送R2、之后双方使用的加密算法、证书(客户端拿着公钥和其他信息去CA端验证)
第三步客户端发送R3,利用第二步的加密算法生成共享密钥
第四步服务端同样生成共享密钥,并用共享密钥加密数据开始通信

对称加密和非对称加密
对称加密:通信双方使用同一个密钥进行数据的加密和解密。
非对称加密:私钥自己保管,公钥对外公开
SSL加密
SSL,即安全套接层网络安全协议,是在(TCP/IP)上实现的一种安全协议,位于应用层与传输层之间,采用公开密钥技术 --Secure Socket Layer
nginx通过SSL软件实现公钥和私钥的认证,编译时需要指定安装--with-http_ssl_moudle模块
nignx开启https服务
    # HTTPS server
    server {
        listen       443 ssl;
        # 域名
        server_name  www.zhihe.love;
        # 公钥和私钥文件
        ssl_certificate      cert.pem;
        ssl_certificate_key  cert.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location / {
            root   html;
            index  index.html index.htm;
        }
    }
nginx开启http自动跳转https
    server {
        listen       8080;
        server_name  localhost;
        return 301 https://www.zhihe.love;
	}
总结
以上就是今天要讲的内容,本文主要介绍了数字签名、https的四次握手、一些加密方式以及nginx中如何使用https,欢迎大家观看留言









