Popravite Nginx pogrešku: Ne može dodijeliti novu sesiju u SSL sesiji podijeljena predmemorija “le_nginx_ssl” Dok SSL rukovanje

O eroare tipica serverelor web cu Nginx i 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_ssl” Dok SSL rukovanje”

Sesiunile SSL ale NGINX sunt pastrate intr-o memorie partajata “udio” 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_ssl” Dok SSL rukovanje”

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

U 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 pentru “le_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“.

Strastveni u vezi s tehnologijom, pišem sa zadovoljstvom na Stealthsetts.com počevši od 2006. godine. Imam bogato iskustvo u operativnim sustavima: macOS, Windows i Linux, ali i na programskim jezicima i platformama za bloganje (WordPress) i za internetske trgovine (WooCommerce, Magento, Presashop).

Dom Vaš izvor IT vodiča, korisni savjeti i vijesti. Popravite Nginx pogrešku: Ne može dodijeliti novu sesiju u SSL sesiji podijeljena predmemorija “le_nginx_ssl” Dok SSL rukovanje
Ostavite komentar