Typická chyba webového servera s Nginx si Certbot, ktorý som nedávno objavil v 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
Je to chyba, ktorá sa vyskytuje sporadicky, iba v určitých situáciách a najčastejšie na webových stránkach s vysokou prevádzkou. Veľké množstvo otázok.
"le_nginx_SSL
“, Ako možno z názvu vyčítať, je zodpovedný za relácie SSL slúžil na výsluchy. Čas, kedy sa overuje aj certifikát SSL Let's Encrypt, nainštalovaný na serveri s pomocou certbot
.
Obsah
Prečo chyba NGINX „nemohla prideliť novú reláciu v SSL zdieľaná vyrovnávacia pamäť relácie “le_nginx_SSL“Zatiaľ SSL podanie rúk”
Relácie SSL NGINX sú uložené v zdieľanej pamäti na zdieľanie s každým dotazom v prehliadači. Keď je priestor pridelený zdieľanej pamäti (zdieľaná) vyrovnávacia pamäť SSL je plná a NGINX nedokáže uvoľniť miesto pre novú reláciu, zobrazí sa toto chybové hlásenie.
Nie je to o jednom kritická chyba NGINX ani to nemá obrovský vplyv na užívateľskú skúsenosť. Mimochodom v „error.log “sa označuje ako„[alert]
".
Ako opraviť chybu NGINX „nepodarilo sa prideliť novú reláciu SSL zdieľaná vyrovnávacia pamäť relácie “le_nginx_SSL“Zatiaľ SSL podanie rúk”
Pri inštalácii Certbot na webovom serveri (CentOS, Ubuntu) je vytvorených niekoľko konfiguračných súborov, prostredníctvom ktorých je nová služba zodpovedná za certifikáty SSL (Let's Encrypt) komunikuje s NGINX. Jedným z týchto súborov je a options-ssl-nginx.conf
. Konfiguračný súbor, v ktorom môžeme prideliť viac miesta na zdieľanie pamäte a SSL alebo môžeme zmeniť čas relácie SSL vyprší a automaticky sa odstráni.
sudo nano /etc/letsencrypt/options-ssl-nginx.conf
In options-ssl-nginx.conf
môžeme zmeniť parametre, ale buďte veľmi opatrní, pretože zmeny tu ovplyvnia obnovu certifikátov 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;
Môžeme zmeniť, ako dlho je relácia uložená v zdieľanej pamäti pre „le_nginx_SSL“. Pridelil som 10 MB pre relácie zdieľanej vyrovnávacej pamäte SSL, s časovým limitom 1440 minút (24 hodín).
Pre stránky s vysokou premávkou sa odporúča zvýšiť zdieľanú vyrovnávaciu pamäť, ale je potrebná rovnováha medzi prenosom (počet relácií) a časom, ktorý bude relácia uložená.
V mojom prípade sa hodnota zmení na „ssl_session_cache shared:le_nginx_SSL:15m
".