openssl - 使用 Apache 2.4 OpenSSL 1.0 使 Linux CentOS 上的 SSL 更快

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

同事!

好吧,我对 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 签名, key 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

感谢您的帮助。

最佳答案

Initial Connection: 170 ms

SSL Negotiation: 531 ms


查看数据包捕获,我可以看到在初始 TCP 握手之后,客户端开始握手,然后服务器需要很长时间才能将所有必要的数据发回(ServerHello、证书...)。这些数据需要 5 个数据包,并且由于各种 TCP 魔法和操作系统调整,最后一个数据包只有在获得对先前数据包的确认后才会发送。详细地说,这个 TCP 魔法可能是 TCP 慢启动,并且在您使用的 CentOS 版本中,初始拥塞窗口固定为 4(请参阅 https://www.igvita.com/2011/10/20/faster-web-vs-tcp-slow-start/)。
你能做什么:修复你的证书链。如果你看 SSLLabs report您将看到“链问题:包含 anchor ”,这意味着您发送根证书,即使客户端将忽略根证书,而是使用客户端内置的受信任 CA(必须从本地信任构建信任链! )。如果您通过删除此根证书来修复您的配置,则服务器发送的数据会更短,并且您不会遇到启动缓慢的问题。

关于openssl - 使用 Apache 2.4 OpenSSL 1.0 使 Linux CentOS 上的 SSL 更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29183874/

相关文章:

linux - 创建符号链接(symbolic link)失败

ssl - 在Ubuntu 16上使用Apache 2.4反向代理Tomcat 7 : webapp not found

c - makefile 总是调用最后一个目标

java - 带参数的批处理文件执行 - [Java - OpenSSL]

javascript - Linux CentOS 6 上的 Node 串行端口

amazon-web-services - 我可以在带有 vagrant 的 aws 上使用哪个 centos 图像?

mod-wsgi - 在 Django/mod_wsgi 虚拟环境中配置 WSGIPythonHome 的问题

Apache 代理 : No protocol handler was valid

openssl - OpenSSL 现在是否会自动处理 CRL(证书吊销列表)?

java - 证书和 key 与 openssl 一起使用;他们为什么不在 jks keystore 中使用 JSSE?