Typická chyba webového serveru s Nginx si Certbot, který jsem nedávno objevil 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
Jedná se o chybu, která se vyskytuje sporadicky, pouze v určitých scénářích a nejčastěji na webových stránkách s vysokým provozem. Velký počet dotazů.
"le_nginx_SSL
“, Jak lze odvodit z názvu, je zodpovědný za relace SSL sloužil k výslechům. Čas, kdy je certifikát také ověřen SSL Let's Encrypt, nainstalovaný na serveru s nápovědou certbot
.
Obsah
Proč chyba NGINX „nemohla přidělit novou relaci v SSL sdílená mezipaměť relace “le_nginx_SSL" zatímco SSL potřesení rukou“
Relace SSL NGINX jsou uloženy ve sdílené paměti pro sdílení s každým dotazem v prohlížeči. Když je prostor přidělený sdílené paměti (sdílené) mezipaměti SSL je plná a NGINX neuvolní místo pro novou relaci, zobrazí se tato chybová zpráva.
Není to o jednom kritická chyba NGINX ani to nemá obrovský dopad na uživatelskou zkušenost. Mimochodem v „error.log “je označen„[alert]
".
Jak opravit chybu NGINX „nepodařilo se přidělit novou relaci SSL sdílená mezipaměť relace “le_nginx_SSL" zatímco SSL potřesení rukou“
Při instalaci Certbot na webovém serveru (CentOS, Ubuntu) je vytvořeno několik konfiguračních souborů, jejichž prostřednictvím je nová služba zodpovědná za certifikáty SSL (Let's Encrypt) komunikuje s NGINX. Jedním z těchto souborů je a options-ssl-nginx.conf
. Konfigurační soubor, ve kterém můžeme přidělit více místa pro sdílení paměti a SSL nebo můžeme změnit čas relace SSL vyprší a bude automaticky smazán.
sudo nano /etc/letsencrypt/options-ssl-nginx.conf
In options-ssl-nginx.conf
můžeme změnit parametry, ale buďte velmi opatrní, protože změny zde ovlivní obnovu certifikátů 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 změnit, jak dlouho je relace uložena ve sdílené paměti pro „le_nginx_SSL“. Přidělil jsem 10 MB pro relace sdílené mezipaměti SSL, s časovým limitem 1440 minut (24 hodin).
U webů s vysokým provozem se doporučuje zvýšit sdílenou mezipaměť, ale je vyžadována rovnováha mezi provozem (počet relací) a dobou, po kterou bude relace uložena.
V mém případě se hodnota změní na „ssl_session_cache shared:le_nginx_SSL:15m
".