我有一个Apache服务器的问题。 最初的SSL握手需要大约5-7秒,这是可怕的。 之后,响应时间以毫秒为单位 – 但消息必须在第一个消息之后立即发送,或者在几秒钟不活动后再次握手。 有什么办法可以加快Apacheconfiguration?
这是一些Linux发行版,对吧?
这台服务器大多是闲置的吗 也许Apache是从/ dev / random中随机抽取的 。 这有时会非常慢,因为/ dev / random需要“真实”的随机性; 像移动鼠标,使用键盘和networkingstream量收集熵的东西。 如果内核熵池几乎为空,则需要随机性的进程往往会停顿一段时间。
如果是这种情况,在SSL握手期间, cat /proc/sys/kernel/random/entropy_avail应该接近零。
您可以使用SSLRandomSeed Apache指令将随机源切换到/ dev / urandom ,但要警告,这在理论上不如/ dev / random安全。
其他的解决scheme是使用像rngd这样的守护进程(可以从许多Linux发行版中的rng-tools包中获得),它们填充了熵池。
除了Janne Pikkarainen所说的,还要检查服务器是否没有对SSL请求进行DNS反向查找。 运行一个tcpdump -pi eth0 port 53 。