前言
昨天换了萌咖AlphaSSL的新证书,在查询下 MYSSL 的 SSL 状态,看到OCSP
装订状态为不支持,瞎弄了半天才把它搞定,为避免大家走博主的弯路,这里就记录下搞定经过 。
OCSP Stapling
OCSP Stapling 就是为了解决 OCSP 性能问题而生的,工作原理:
网站服务器将自行查询 OCSP 服务器并缓存响应结果,然后在与浏览器进行 TLS 连接时将 OCSP 查询结果通过 Certificate Status 消息发送给浏览器,这样浏览器就不需要再去查询了。
浏览器客户端也不再需要向任何第三方披露用户的浏览习惯,完美解决了隐私问题。当客户端向服务器发起 SSL 握手请求握手时发送事先缓存的 OCSP 响应,用户只要验证该响应的时效性而不用再向数字证书认证机构(CA)发送请求,避免了客户端验证会产生的阻塞问题,可以加快握手速度。由于 OCSP 响应是无法伪造的,因此这一过程也不会产生额外的安全问题。
配置教程
这里先把博主的部分 server 段的配置给出来,再来解释:
server
{
listen 443 ssl http2;
server_name yunloc.com;
return 301 https://www.yunloc.com$request_uri;
ssl_certificate /usr/local/nginx/conf/ssl/www.yunloc.com.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/www.yunloc.com.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_session_timeout 5m;
ssl_stapling on;
ssl_stapling_responder http://ocsp.globalsign.com/alphasslcasha256g4;
ssl_stapling_verify on;
ssl_trusted_certificate /usr/local/nginx/conf/ssl/ocsp.yunloc.crt;
resolver 8.8.8.8 8.8.4.4 223.5.5.5 valid=3600s;
resolver_timeout 2s;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
ssl_buffer_size 4k;
ssl_session_tickets off;
ssl_early_data on;
proxy_set_header Early-Data $ssl_early_data;
开启 OCSP Stapling
客户端访问时 NginX 将去指定的证书中查找 OCSP 服务的地址获得响应内容后通过证书链下发给客户端;
ssl_stapling on;
响应信任链
ssl_stapling_responder http://ocsp.globalsign.com/alphasslcasha256g4
这里是使用根 CA 和中间证书验证 OCSP 响应的信任链,可以在你的网站地址前的 SSL 小锁里找到
启用 OCSP 响应
验证 OCSP 信息响应适用的证书;
ssl_stapling_verify on;
指定完整的证书链
ssl_trusted_certificate /usr/local/nginx/conf/ssl/ocsp.yunloc.crt;
博主申请证书的时候没有神马完整的证书链,可直接点 这里生成 完整的证书链
添加 resolver 解析
根据 Nginx 文档最好使用本地 DNS 服务可以防止 DNS 欺骗(DNSspoofing)。使用公共的 DNS 服务存在安全隐患;
OSCP 响应服务器的主机名,valid 表示缓存。(这里博主使用的是谷歌公共的 DNS 解析地址,备用为阿里的 DNS)
resolver 8.8.8.8 8.8.4.4 223.5.5.5 valid=3600s;
resolver_timeout
表示网络超时时间
resolver_timeout 2s;
确认是否安装成功
好了,开启 OCSP 就这 6 个选项,设置好后重启 nginx
service nginx restart
点 这里查询 OCSP 是否支持
结语
配置好 OCSP 后,马上去查询了下网站的解析速度,的确是快了那么一丢丢,希望大家也赶快加上。
>> 所有文章均基于分享的原则,所有言论均个人观点,请注意全部都不是推荐,是分享!分享!分享!