HTTPS配置优化

SSL 会话缓存

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

SSL 会话缓存说明

  • ssl_session_cache shared:SSL:10m:设置 SSL 会话缓存为 10MB
  • ssl_session_timeout 10m:设置 SSL 会话超时时间为 10 分钟

SSL 会话缓存原理: SSL 会话缓存用于缓存 SSL 会话参数,避免重复握手,提高性能。SSL 会话缓存使用共享内存区域,多个 Worker 进程可以共享 SSL 会话缓存。

SSL 会话票据

ssl_session_tickets on;
ssl_session_ticket_key /etc/nginx/ticket.key;

SSL 会话票据说明

  • ssl_session_tickets on:启用 SSL 会话票据
  • ssl_session_ticket_key /etc/nginx/ticket.key:设置 SSL 会话票据密钥文件

SSL 会话票据原理: SSL 会话票据是一种会话恢复机制,用于避免重复握手,提高性能。SSL 会话票据使用对称加密加密会话参数,客户端可以在后续连接中使用会话票据恢复会话。

OCSP Stapling

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/trusted.crt;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;

OCSP Stapling 说明

  • ssl_stapling on:启用 OCSP Stapling
  • ssl_stapling_verify on:启用 OCSP Stapling 验证
  • ssl_trusted_certificate /etc/nginx/trusted.crt:设置受信任的证书文件
  • resolver 8.8.8.8 8.8.4.4 valid=300s:设置 DNS 解析器
  • resolver_timeout 5s:设置 DNS 解析超时时间为 5 秒

OCSP Stapling 原理: OCSP Stapling 是一种证书状态检查机制,用于检查证书是否被吊销。OCSP Stapling 可以减少客户端的证书状态检查时间,提高性能。

优化参数

参数说明推荐值
ssl_session_cache会话缓存shared:SSL:10m
ssl_session_timeout会话超时10m
ssl_session_tickets会话票据on
ssl_staplingOCSP Staplingon

SSL 协议优化

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;

SSL 协议优化说明

  • ssl_protocols TLSv1.2 TLSv1.3:设置 SSL 协议版本为 TLSv1.2 和 TLSv1.3
  • ssl_ciphers:设置 SSL 加密套件
  • ssl_prefer_server_ciphers on:优先使用服务器加密套件

SSL 协议优化原理: SSL 协议优化可以提高 SSL 连接的安全性,使用 TLSv1.2 和 TLSv1.3 可以提高安全性,使用强加密套件可以提高安全性。

HSTS

add_header Strict-Transport-Security "max-age=31536000" always;

HSTS 说明

  • add_header Strict-Transport-Security "max-age=31536000" always:添加 HSTS 响应头

HSTS 原理: HSTS(HTTP Strict Transport Security)是一种安全策略,用于强制客户端使用 HTTPS 连接。HSTS 可以防止中间人攻击,提高安全性。