Apache - handshake inicial extremamente lento (SSL ativado)

7

Eu tenho um problema com o servidor Apache. O handshake SSL inicial leva cerca de 5 a 7 segundos, o que é horrível. Depois disso, o tempo de resposta é em milissegundos - mas as mensagens devem ser enviadas logo após a primeira ou o handshake será feito novamente após alguns segundos de inatividade. Existe alguma maneira de acelerar a configuração do Apache?

    
por Tom 15.06.2011 / 13:19

2 respostas

5

Isso é com alguma distro Linux, certo?

Este servidor está praticamente inativo? Talvez o Apache esteja removendo a aleatoriedade de / dev / random . Isso pode ser às vezes muito lento, já que / dev / random requer aleatoriedade "real"; coisas como mover o mouse, usando o teclado e o tráfego de rede, reúnem a entropia. Se o pool de entropia do kernel estiver quase vazio, os processos que requerem aleatoriedade tendem a parar por um tempo (longo).

Se esta for a situação, cat /proc/sys/kernel/random/entropy_avail deve ser próximo de zero durante o handshake SSL.

Você pode mudar a fonte de aleatoriedade para / dev / urandom usando SSLRandomSeed Diretiva do Apache , mas esteja avisado, isso teoricamente não é tão seguro quanto o / dev / random.

Outra solução é usar o daemon como rngd (disponível em rng-tools package em muitas distribuições Linux) que preenche o pool de entropia.

    
por 15.06.2011 / 13:26
1

Além do que o Janne Pikkarainen disse, verifique também se o servidor não está fazendo uma pesquisa reversa de DNS para solicitações SSL. Execute um tcpdump -pi eth0 port 53 .

    
por 15.06.2011 / 13:44