因为本博客最近一段时间移动端访问会报错 err_spdy_protocol_error 并调试无果,可以判断是启用 http/2 导致的。
为了解决这毛病,我决定趁着这机会顺便也移除一些其它特性。
TLS 1.3
本博客原本使用 openssl draft 18 以启用 TLS 1.3,而现在已改用 LibreSSL
并取消了 TLS 1.3 特性。
关于 LibreSSL,可以看我的 这篇文章
关于 TLS 1.3,可以看我的 这篇文章
HTTP/2
本博客现已取消 http/2 特性。
关于 http/2,可以看我的 这篇文章
2018-05-01 更新:已重新启用该特性。
ECC/RSA 双证书
发现双证书没什么用,就趁着这次将 Let’s Encrypt 更换为 Encryption Everywhere
的机会,撤下了 ECC 证书。
关于双证书,可以看我的 这篇文章
Certificate Transparancy
启用了 LibreSSL 是不能同时编译 ngx_ct_module 的,本站不再支持 TLS 拓展启用 CT 的特性。当然,因为启用了 Encryption Everywhere 证书,是自带 CT 的,所以该特性本站依然保留。
关于 CT,可以看我的 这篇文章
HTTP Public Key Pinning
从 Let’s Encrypt 更换到了 COMODO,那么 HPKP 的 pin-sha256 值肯定要更改。然而 HPKP 因为其有一定安全隐患,本博客现已取消该特性。
关于 HPKP,可以看我的 这篇文章
多余的加密套件
现在只启用 RSA 证书和 TLS 1.2 了,那么就能移除用不到的加密套件(不考虑对旧设备的兼容性),只需要保留以下三个 cipher:
ssl_protocols TLSv1.2; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-CHACHA20-POLY1305 ECDHE-RSA-AES256-GCM-SHA384';