如何加快 SSL 连接建立速度?

如何加快 SSL 连接建立速度?

我在我的 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 似乎优化得更好。

相关内容