Tipinė žiniatinklio serverio klaida su nginx si Certbot, kurį neseniai atradau errorLog:
[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
Tai klaida, atsirandanti atsitiktinai, tik tam tikrais atvejais ir dažniausiai didelio srauto svetainėse. Didelis užklausų skaičius.
"le_nginx_SSL
“, Kaip galima spręsti iš pavadinimo, yra atsakinga už užsiėmimus SSL tarnavo tardymui. Laikas, kai taip pat patikrinamas sertifikatas SSL Tegul Encrypt, įdiegtas serveryje su pagalba certbot
.
Kuprinai
Kodėl NGINX klaida „nepavyko priskirti naujos sesijos SSL seanso bendrinama talpykla “le_nginx_SSLKol SSL rankos paspaudimas“
Sesijos SSL NGINX yra saugomi bendrojoje atmintyje, kad būtų galima bendrinti su kiekviena naršyklės užklausa. Kai vieta, skirta bendrajai atminčiai (bendrai) talpyklai SSL yra pilnas ir NGINX nepavyksta atlaisvinti vietos naujai seansui, pasirodo šis klaidos pranešimas.
Tai ne apie vieną kritinė NGINX klaida taip pat neturi didelės įtakos vartotojo patirčiai. Beje,error.log “žymima„[alert]
".
Kaip ištaisyti NGINX klaidą „nepavyko priskirti naujos sesijos SSL seanso bendrinama talpykla “le_nginx_SSLKol SSL rankos paspaudimas“
Įdiegus Certbot žiniatinklio serveryje (CentOS, Ubuntu) yra sukurti keli konfigūracijos failai, per kuriuos nauja paslauga atsakinga už sertifikatus SSL (Užšifruokime) bendrauja su NGINX. Vienas iš šių failų yra ir options-ssl-nginx.conf
. Konfigūracijos failas, kuriame galime skirti daugiau vietos atminties dalijimuisi a SSL arba galime pakeisti seanso laiką SSL kad pasibaigtų ir būtų automatiškai ištrintas.
sudo nano /etc/letsencrypt/options-ssl-nginx.conf
In options-ssl-nginx.conf
galime keisti parametrus, bet būkite labai atidūs, nes čia pakeitimai turės įtakos sertifikatų atnaujinimui 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;
Galime pakeisti, kiek laiko „le_nginx_“ sesija saugoma bendrojoje atmintyjeSSL“. Paskyriau 10 MB bendroms talpyklos sesijoms SSL, su 1440 minučių (24 valandų) skirtuoju laiku.
Didelio srauto svetainėms rekomenduojama padidinti bendrąją talpyklą, tačiau reikalinga srauto (seansų skaičiaus) ir seanso laiko išsaugojimo pusiausvyra.
Mano atveju vertė keičiasi "ssl_session_cache shared:le_nginx_SSL:15m
".