Un tipico errore del server web con Nginx si Certbot, che ho scoperto di recente in errorlog:
Soddisfare
[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
È un errore che si verifica sporadicamente, solo in determinati scenari e molto spesso su siti Web ad alto traffico. Numero elevato di query.
"le_nginx_SSL
", come si evince dal nome, è responsabile delle sedute SSL servito per gli interrogatori. Ora in cui viene verificato anche il certificato SSL Let's Encrypt, installato sul server con l'aiuto certbot
.
Perché l'errore NGINX "non è stato possibile allocare una nuova sessione in SSL cache condivisa di sessione “le_inginx_SSL" mentre SSL stretta di mano "
Sessioni SSL di NGINX sono archiviati in una memoria condivisa da condividere con ogni query nel browser. Quando lo spazio allocato alla cache di memoria condivisa (condivisa). SSL è pieno e NGINX non riesce a liberare spazio per una nuova sessione, viene visualizzato questo messaggio di errore.
Non si tratta di uno errore critico di NGINX né ha un enorme impatto sull'esperienza dell'utente. A proposito in "error.log "è indicato con"[alert]
".
Come correggere l'errore NGINX "Impossibile allocare una nuova sessione in SSL cache condivisa di sessione “le_inginx_SSL" mentre SSL stretta di mano "
Quando si installa Certbot su un server web (CentOS, Ubuntu) vengono creati diversi file di configurazione attraverso i quali il nuovo servizio responsabile dei certificati SSL (Let's Encrypt) comunica con NGINX. Uno di questi file è e options-ssl-nginx.conf
. File di configurazione in cui possiamo allocare più spazio per la condivisione della memoria a SSL oppure possiamo cambiare il tempo in cui una sessione SSL scadere ed essere cancellato automaticamente.
sudo nano /etc/letsencrypt/options-ssl-nginx.conf
In options-ssl-nginx.conf
possiamo modificare i parametri, ma fai molta attenzione, perché le modifiche qui influiranno sul rinnovo dei certificati 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;
Possiamo cambiare per quanto tempo una sessione viene archiviata nella memoria condivisa per "le_nginx_SSL”. Ho allocato 10 MB per le sessioni di cache condivisa di SSL, con un timeout di 1440 minuti (24 ore).
Per i siti ad alto traffico si consiglia di aumentare la cache condivisa, ma è necessario un equilibrio tra il traffico (numero di sessioni) e il tempo di memorizzazione di una sessione.
Nel mio caso, il valore cambia in "ssl_session_cache shared:le_nginx_SSL:15m
".