概念:
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目的的HTTP通道,简单讲是HTTP的安全 版,主要防止数据泄密和篡改。
HTTPS由两部分组成:HTTP+SSL/TLS。
TLS前身是SSL,TLS1.0 对应 SSL3.1,TLS1.1 对应 SSL3.2,TLS1.2 对应 SSL3.3。

工作流程:
1. 浏览器向服务器443端口发送HTTP请求;
2. 服务器收到请求将数字证书返回给浏览器;
3. 浏览器验证证书是否有效,如果不可信任, 提示https无效警告;如果证书可信任,则取出里面公钥生成一个随机值,用这个公钥对随机值加密,然后发送给服务器;
4. 服务器收到数据后,用私钥解密,得到随机值,然后生成会话密钥,并把请求的内容与会话密钥一同返回给浏览器;
5. 浏览器收到数据后用之前的私钥解密,获得网页内容并展示;
6. 客户端与服务器通信则用这个会话钥匙进行加解密。

https工作流程图示:

配置优化:

http {      
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

server {
listen 443 ssl;
server_name www.xxx.com;
keepalive_timeout 70;

ssl_certificate www.xxx.com.crt;
ssl_certificate_key www.xxx.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

location / {
index index.html;
root /var/www;
}
}
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注