我在我的 Linux PC 上使用 Apache2 设置了 OpenSSL。
不,我还没有启用 DNS 解析。我的证书位于本地机器上。
不过,Chrome devtools 告诉我Initial Connection took 1.64 s
。在特定时间过去后刷新页面时,我需要等待很长时间。
如何加快速度或者这就是它应该的方式?
附言:我正在使用 StartCom 的免费 ssl。
答案1
有几个方面可以改善 SSL 连接(以及一般的 SSL 流量延迟)。其中一些可能会对安全性产生或大或小的影响。
(这些适用于使用 Apache 的 ssl.conf)
禁用域查找,并允许非 SNI 到达主域
- SSLStrictSNIVHost勾选
不要使用命名主机,而要使用 IP 地址作为 :443 VHOST 条目
缓存 SSL 会话
- SSLSessionCache shmcb:/运行/httpd/sslcache(512000)
- SSLSessionCacheTimeout 300
允许更快的 SSL 协议顺序,一般兼容性,中等安全性:
- SSL协议全部-SSLv3
- SSLCipherSuite 全部:+高:+TLSv1:!ADH:!EXP:!SSLv2:!中等:!低:!NULL:!aNULL
- SSLHonorCipherOrder
OCSP 装订(加速 SSL)
- SSLUseStapling 开启
- SSLStaplingResponderTimeout 5
- SSLStaplingReturnResponderErrors 关闭
- SSLStaplingCache shmcb:/运行/ocsp(128000)
HSTS(可以进行预加载,以便浏览器中的 http:// 请求变为 https:// 请求)
- 标头始终设置 Strict-Transport-Security“max-age=63072000;includeSubdomains;preload”
在此提交预加载:https://hstspreload.appspot.com/
考虑以下更高级的实现:
- 带有 HPACK 的 HTTP/2
- Brotli 压缩
其他可能有助于加快连接速度的非 SSL 问题
httpd.conf 中的另一个 Apache 指令
- HostnameLookups 关闭
答案2
不要使用 StartCom。
相反,使用带有自动配置选项的 Let's Encrypt --apache
。
它会询问您所有用户友好的信息,您可以在设置 Let's Encrypt SSL 后完全自定义您的 Apache 配置。
因此,通过删除 StartCom SSL 并使用 Let's Encrypt 自动配置 apache 可以解决问题。
我不知道这里最初的问题是什么,但 Let's Encrypt 似乎优化得更好。