Fix NGINX Error: could not allocate new session in SSL session shared cachele_nginx_SSLwhile SSL handshaking

O eroare tipica serverelor web cu Nginx и Certbot, pe care am descoperit-o recent in 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

Este o eroare care apare sporadic, numai in anumite scenarii si de cele mai multe ori pe website-urile cu trafic mare. Numar mare de interogari.

le_nginx_SSL, asa cum se poate deduce si din nume, raspunde de sesiunile SSL servite interogarilor. Timp in care este verificat si certificatul SSL Let’s Encrypt, instalat pe server cu ajutorul certbot.

De ce apare eroarea NGINXcould not allocate new session in SSL session shared cachele_nginx_SSLwhile SSL handshaking

Sesiunile SSL ale NGINX sunt pastrate intr-o memorie partajata “Споделяне” pentru a servite la fiecare interogare in browser. Cand spatiul alocat memoriei partajate (shared) cache SSL este plin, iar NGINX nu reuseste sa elibereze spatiu pentru o noua sesiune, apare acest mesaj de eroare.

Nu este vorba despre o eroare critica a NGINX si nici nu are un impact foarte mare asupra experientei utilizatorilor. De altfel inerror.logeste notat cu[alert]“.

Cum rezolvam eroarea NGINXcould not allocate new session in SSL session shared cachele_nginx_SSLwhile SSL handshaking

Atunci cand instalam Certbot pe un server web (CentOS, Ubuntu) sunt create mai multe fisiere de configurare prin care noul serviciul care raspunde de certificatele SSL (Let’s Encrypt) comunica cu NGINX. Unul dintre aceste fisirere este si options-ssl-nginx.conf. Fisier de configuratie in care putem sa alocam un spatiu mai mare pentru memoria share a SSL sau putem schimba timpul in care o sesiune SSL sa expire si sa fie stearsa automat.

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

В options-ssl-nginx.conf putem schimba din parametri, insa atentie mare, pentru ca modificarile de aici vor afecta reinnoirea certificatelor 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;

Putem modifica cat timp o sesiune sa fie stocata in memoria shared partajata pentrule_nginx_SSL. Eu am alocat 10 MB pentru sesiunile cache shared ale SSL, cu o perioada de timeout de 1440 minute (24 ore).

Pentru site-urile cu trafic mare este recomandat ca memoria cache partajata sa fie marita, insa trebuie un echilibru intre trafic (numarul de sesiuni) si perioada de timp cat o sesiune va fi stocata.

In cazul meu a functionat schimbarea valorii lassl_session_cache shared:le_nginx_SSL:15m“.

Страстен за технологиите, пиша с удоволствие от stealthsetts.com, започвайки от 2006 г. Имам богат опит в операционните системи: macOS, Windows и Linux, но също така и в езици за програмиране и блогове (WordPress) и за онлайн магазини (WooCommerce, Magento, Presashop).

Начало » Вашият източник на ИТ уроци, полезни съвети и новини. » Fix NGINX Error: could not allocate new session in SSL session shared cachele_nginx_SSLwhile SSL handshaking
Оставете коментар