Primeiro carregamento de pagina SSL lento no NGINX

1

Comprei recentemente um certificado QuickSSL da GeoTrust e estou usando-o no NGINX. Tudo está bem, mas há um segundo desagradável antes que a página seja carregada.

Se eu olhar para outros sites SSL, a maioria deles carrega instantaneamente como deveria.

Esta é minha configuração de SSL:

ssl on;
ssl_certificate /usr/local/nginx/ssl/www.crt;
ssl_certificate_key /usr/local/nginx/ssl/www.key;

Descobri a adição de ssl no final da diretiva listen , mas ela não foi resolvida.
Para este problema se reproduzir eu tenho que fechar o site e revisitá-lo mais tarde (cerca de 15 minutos?).

    
por Xen 05.07.2012 / 20:03

2 respostas

3

O handshake SSL é um evento lento de 3 pacotes. Isso significa que a conexão inicial levará mais tempo do que a conexão não-SSL - geralmente de 3 a 4 vezes mais. As solicitações a seguir usarão a sessão SSL da primeira conexão e serão mais rápidas, mas somente enquanto a sessão permanecer ativa.

Você pode controlar a vida útil da sessão SSL no NGINX configurando ssl_session_cache e ssl_session_timeout .

Edit: só notei que expliquei por que isso acontece, mas não o que você pode fazer sobre isso. A resposta é, infelizmente, muito pequena. O tempo de duração do handshake inicial depende de 2 fatores: o tempo gasto pela criptografia SSL real (insignificante com o hardware atual) e o tempo gasto pela troca de 3 pacotes que depende apenas da rede - a menos que você consiga "ping menor" para o servidor nada vai mudar.

    
por 05.07.2012 / 20:17
0

Isso soa muito como se você tivesse o cache de sessão SSL ativado (a espera de 15 minutos para fazer o problema reaparecer) e uma CPU muito lenta ou um caminho de rede terrivelmente latente entre você e o servidor, o que está causando o problema.

    
por 05.07.2012 / 20:14