休斯顿,我有一个问题。
Apache (httpd)
我在一台机器上有一个实例,mod_ssl
使用openssl
并mod_jk
指向tomcat
其他物理机器上的几个实例。Apache 实际上是这台机器上唯一运行的东西。
它被配置为每个连接使用单独的进程来隔离它们,并设置为/dev/urandom
用于启动和builtin
连接。
整个过程中请求的处理速度非常快。我遇到的问题是 SSL 握手速度太慢。
查看tcpdump
,有服务器从客户端接收字节的实例(假设它正在尝试建立 SSL 连接),但 Apache(mod_ssl)没有响应。客户端在约 3 秒后再次尝试,但没有得到响应。在实际发送证书之前,这种情况可能会重复多次。
握手成功后,一切运行顺利。问题是浏览器重试频率不够高,用户无法快速获得响应,用户抱怨“系统运行缓慢”。
我需要弄清楚为什么 Apache(或 mod_ssl)会忽略或花很长时间来处理证书请求。有什么想法吗?
提前致谢。
答案1
您是否正在尝试进行反向解析?
我会用tcpdump -ni eth0 port domain
(适应eth0
)来检查这一点。
导致 Apache 中反向查找的原因有很多,因此如果这是问题所在,我们可以继续深入挖掘。