5

同事!

好吧,我对 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-03-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


感谢您的帮助。

4

1 回答 1

4

初始连接:170 毫秒

SSL 协商:531 毫秒

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

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

于 2015-03-22T20:30:19.780 回答