其他
爱奇艺海外版HTTPS效率提升的探索和实践
01
背景
DNS 有本地缓存或者用了 HTTPDNS 预解析,第1步可以省掉。
如果浏览器声明了 HSTS ,可以省略 302 转向,第3步可以省掉。
如果本地已经有主流的 CA DNS 缓存 第6步可以省掉
如果 CA 本地有验证缓存或者启用 OCSP Stapling 的本地验证 7、8步可以省掉
02
HTTPS流程分析和优化的策略
TLS Hello 确定协议版本、密码套件、对称密钥随机数
Server Certificate 服务器发送证书链
Client/Server Key Exchange (DH 算法,协商交换加密算法)
ChangeCipher Spec 对称加密双向校验
struct
hello {
Version // TLS版本号
Random // 客户端随机数
Session id
Cipher Suites // 客户端支持的加密套件
Extension: support version; // 扩展TLS版本支持
}
ssl_protocols TLSv1.2 TLSv1.3
Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA256
ssl_ecdh_curve X25519:secp384r1;
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH+ECDSA+AES128+SHA:RSA+AES128+SHA...
openssl ecparam -genkey -name prime256v1 -out key.pem
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate xx.pem
openssl s_client -connect ip:443 -status
OCSP response: no response sent //出现以下 则没配置
SessionID
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
SessionTicket
ssl_session_tickets on;ssl_session_ticket_key xx.key;
03