Corrigir NGINX Error: não foi possível alocar uma nova sessão no cache compartilhado de sessão SSL “le_nginx_SSL” durante o handshaking SSL

Um erro típico de servidor da web com NGINX si Certbot, que descobri recentemente em error.log:

[alert] 19765#19765: *151498 could not allocate new session in SSL session shared cache "le_nginx_SSL" while SSL handshaking, client: ip.ip.ip.ip, server: 0.0.0.0:443

É um erro que ocorre esporadicamente, apenas em determinados cenários e mais frequentemente em sites de alto tráfego. Grande número de consultas.

"le_nginx_SSL", Como se pode deduzir do nome, é responsável pelas sessões SSL atendidas às consultas. Momento em que o certificado Let's Encrypt SSL é verificado, instalado no servidor com a ajuda certbot.

Por que o erro NGINX "não foi possível alocar uma nova sessão no cache compartilhado da sessão SSL"le_nginx_SSL"Durante o handshaking SSL"

As sessões NGINX SSL são armazenadas em uma memória compartilhada para atender a cada consulta no navegador. Quando o espaço alocado para o cache SSL compartilhado está cheio e o NGINX não consegue liberar espaço para uma nova sessão, essa mensagem de erro é exibida.

Não é sobre um erro crítico de NGINX nem tem um grande impacto na experiência do usuário. A propósito em “error.log ”é denotado por“[alert]".

Como corrigir o erro NGINX "não foi possível alocar uma nova sessão no cache compartilhado da sessão SSL"le_nginx_SSL"Durante o handshaking SSL"

Quando você instala Certbot em um servidor web (CentOS, Ubuntu) são criados diversos arquivos de configuração através dos quais o novo serviço responsável pelos certificados SSL (Let's Encrypt) se comunica com o NGINX. Um desses arquivos é e options-ssl-nginx.conf. Arquivo de configuração no qual podemos alocar mais espaço para SSL compartilhar memória ou podemos alterar o tempo em que uma sessão SSL expira e é excluída automaticamente.

sudo nano /etc/letsencrypt/options-ssl-nginx.conf

In options-ssl-nginx.conf podemos alterar os parâmetros, mas tenha muito cuidado, pois as alterações aqui afetarão a renovação dos certificados SSL.

ssl_session_cache shared:le_nginx_SSL:10m;
ssl_session_timeout 1440m;
ssl_session_tickets off;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;

Podemos alterar por quanto tempo uma sessão é armazenada na memória compartilhada para "le_nginx_SSL". Eu aloquei 10 MB para sessões de cache compartilhado SSL, com um período de tempo limite de 1440 minutos (24 horas).

Para sites de alto tráfego, é recomendado que o cache compartilhado seja aumentado, mas é necessário um equilíbrio entre o tráfego (número de sessões) e a quantidade de tempo que uma sessão será armazenada.

No meu caso, o valor muda em "ssl_session_cache shared:le_nginx_SSL:15m".

Apaixonado por tecnologia, gosto de testar e escrever tutoriais sobre sistemas operacionais macOSLinux, Windows, sobre configuração de servidores web WordPress, WooCommerce e LEMP (Linux, NGINX, MySQL e PHP). Eu escrevo em StealthSettings.com desde 2006, e alguns anos depois, comecei a escrever no iHowTo.Tips tutoriais e notícias sobre dispositivos no ecossistema Apple: iPhone, iPad, Apple Assistir, HomePod, iMac, MacBook, AirPods e acessórios.

Deixe um comentário