【问题标题】:使用 Apache 2.4 OpenSSL 1.0 在 Linux CentOS 上加快 SSL
【发布时间】:2015-05-24 21:16:05
【问题描述】:

同事们!

嗯,我对 SSL 身份验证的速度有很大的疑问。由于我将网站移至 SSL,GoogleBot 减少了我网站的索引,因为 SSL 协商的值低于我从 WebPageTest.org 获得的值:

网址:https://www.musiconline.com.br/jorge-e-mateus/alcapao/

主办方:www.musiconline.com.br

错误/状态代码:200

客户端端口:0

开始偏移:0.735 秒

DNS 查找:34 毫秒

初始连接:170 毫秒

SSL 协商:531 毫秒

到第一个字节的时间:311 毫秒

内容下载:178 毫秒

字节输入(下载):13.2 KB

字节输出(已上传):0.4 KB

看,“SSL 协商”是 531 毫秒,一个很大的值。

有人知道我该如何解决这个问题吗?


我验证了 mod_spdy,但是我无法安装,因为在我的 Linux CentOS 6、Apache 2.4 中出现以下消息:

root@server1 [/home/login/src]# rpm -U mod-spdy-*.rpm

警告:mod-spdy-beta_current_x86_64.rpm:标头 V4 DSA/SHA1 签名,密钥 ID 7fac5991:NOKEY

错误:依赖失败:

    httpd >= 2.2.4 is needed by mod-spdy-beta-0.9.4.3-420.x86_64

    mod_ssl >= 2.2 is needed by mod-spdy-beta-0.9.4.3-420.x86_64

root@server1 [/home/login/src]# httpd -v

服务器版本:Apache/2.4.12 (Unix)

服务器搭建:2015 年 3 月 21 日 10:58:04

Cpanel::Easy::Apache v3.28.4 rev9999


root@server1 [/home/molbr/src]# uname -a

Linux server1.musiconline.com.br 2.6.32-431.20.3.el6.x86_64 #1 SMP Thu Jun 19 21:14:45 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux


感谢您的帮助。

【问题讨论】:

标签: openssl centos6 apache2.4 mod-ssl mod-spdy


【解决方案1】:

初始连接:170 毫秒

SSL 协商:531 毫秒

查看数据包捕获,我可以看到在初始 TCP 握手之后,客户端启动了握手,然后服务器需要很长时间才能将所有必要的数据发回(ServerHello、证书...)。这些数据需要 5 个数据包,并且由于各种 TCP 魔术和操作系统调整,最后一个数据包只有在获得先前数据包的确认后才会发送。详细地说,这个 TCP 魔法可能是 TCP 慢启动,在您使用的 CentOS 版本中固定初始拥塞窗口为 4(请参阅https://www.igvita.com/2011/10/20/faster-web-vs-tcp-slow-start/)。

你能做什么:修复你的证书链。如果您查看SSLLabs report,您将看到“链问题:包含锚点”,这意味着您发送根证书,即使客户端会忽略根证书,而是使用客户端内置的受信任 CA(信任链必须建立在本地信任的基础上!)。如果您通过删除此根证书来修复您的配置,则服务器发送的数据会更短,并且您不会遇到启动缓慢的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 2017-06-19
    • 2016-04-13
    • 2019-05-05
    • 2016-06-07
    • 2018-08-04
    相关资源
    最近更新 更多