Ett typiskt fel på webbservrar med Ninx och Certbot, som jag nyligen upptäckte i error.log:
innehåll
[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
Det är ett fel som dyker upp sporadiskt, bara i vissa scenarier och oftast på webbplatser med hög trafik. Stort antal frågor.
“le_nginx_SSL“, som kan utläsas av namnet, är ansvarig för SSL-sessionerna som skickas till frågor. Tid under vilken Let's Encrypt SSL-certifikatet, installerat på servern med hjälp, också kontrolleras certbot.
Varför uppstår NGINX-felet? “kunde inte tilldela ny session i SSL-session delad cache “le_nginx_ssl” Medan SSL handskakning”
NGINX SSL-sessioner sparas i ett delat minne “dela” för att betjäna varje fråga i webbläsaren. När utrymmet som tilldelats SSL-cachen för delat minne (delat) är fullt och NGINX inte frigör utrymme för en ny session, visas detta felmeddelande.
Det handlar inte om en kritiskt NGINX-fel och det har inte heller någon stor inverkan på användarupplevelsen. Förresten in “error.log” betecknas med “[alert]“.
Hur man löser NGINX-fel “kunde inte tilldela ny session i SSL-session delad cache “le_nginx_ssl” Medan SSL handskakning”
Vid installation Certbot på en webbserver (CentOS, Ubuntu) skapas flera konfigurationsfiler genom vilka den nya tjänsten som ansvarar för SSL-certifikat (Let's Encrypt) kommunicerar med NGINX. En av dessa sprickor är options-ssl-nginx.conf. Konfigurationsfil där vi kan tilldela ett större utrymme för SSL-delningsminnet eller vi kan ändra tiden då en SSL-session löper ut och raderas automatiskt.
sudo nano /etc/letsencrypt/options-ssl-nginx.conf
I options-ssl-nginx.conf vi kan ändra parametrarna, men var försiktig, eftersom ändringarna här kommer att påverka förnyelsen av SSL-certifikaten.
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;
Vi kan ändra hur länge en session lagras i det delade minnet “le_nginx_ssl”. Jag tilldelade 10 MB för SSL-delade cache-sessioner, med en timeout på 1440 minuter (24 timmar).
För webbplatser med hög trafik rekommenderas att det delade cacheminnet utökas, men det behövs en balans mellan trafik (antal sessioner) och tidsperioden som en session kommer att lagras under.
I mitt fall, ändra värdet till “ssl_session_cache shared:le_nginx_SSL:15m“.