Labojiet NGINX Error: nevarēja piešķirt jaunu sesiju SSL sesijas koplietotajā kešatmiņā “le_nginx_SSL”, kamēr SSL rokasspiediens

Tipiska tīmekļa servera kļūda ar nginx si Certbot, kuru es nesen atklāju 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

Tā ir kļūda, kas notiek sporādiski, tikai noteiktos gadījumos un visbiežāk vietnēs ar lielu datplūsmu. Liels skaits vaicājumu.

"le_nginx_SSL", Kā var secināt no nosaukuma, ir atbildīgs par SSL sesijām, kas tiek pasniegtas vaicājumiem. Laiks, kad tiek pārbaudīts Let's Encrypt SSL sertifikāts, kas ar palīdzību tiek instalēts serverī certbot.

Kāpēc NGINX kļūda "nevarēja piešķirt jaunu sesiju SSL sesijas koplietotajā kešatmiņā"le_nginx_SSL"SSL rokasspiediena laikā"

NGINX SSL sesijas tiek saglabātas koplietojamā atmiņā, lai katru vaicājumu apkalpotu pārlūkprogrammā. Kad koplietotajai SSL kešatmiņai atvēlētā vieta ir pilna un NGINX neizdodas atbrīvot vietu jaunai sesijai, tiek parādīts šis kļūdas ziņojums.

Tas nav par vienu kritiska NGINX kļūda tāpat tam nav lielas ietekmes uz lietotāju pieredzi. Starp citu,error.log ”apzīmē ar“[alert]".

Kā novērst NGINX kļūdu "Nevarēja piešķirt jaunu sesiju SSL sesijas koplietotajā kešatmiņā"le_nginx_SSL"SSL rokasspiediena laikā"

Kad jūs instalēt Certbot tīmekļa serverī (CentOS, Ubuntu) tiek izveidoti vairāki konfigurācijas faili, caur kuriem jaunais pakalpojums, kas atbild par SSL (Let's Encrypt) sertifikātiem, sazinās ar NGINX. Viens no šiem failiem ir un options-ssl-nginx.conf. Konfigurācijas fails, kurā mēs varam piešķirt vairāk vietas SSL koplietojamajai atmiņai, vai arī mēs varam mainīt laiku, kurā beidzas SSL sesijas termiņš un tas tiek automātiski izdzēsts.

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

In options-ssl-nginx.conf mēs varam mainīt parametrus, taču esiet ļoti piesardzīgs, jo šeit veiktās izmaiņas ietekmēs SSL sertifikātu atjaunošanu.

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ēs varam mainīt, cik ilgi sesija tiek glabāta koplietotajā atmiņā vietnei "le_nginx_SSL". SSL koplietotās kešatmiņas sesijām es atvēlēju 10 MB ar noildzes periodu 1440 minūtes (24 stundas).

Vietām ar lielu datplūsmu ieteicams koplietoto kešatmiņu palielināt, taču ir nepieciešams līdzsvars starp datplūsmu (sesiju skaitu) un sesijas glabāšanas laiku.

Manā gadījumā vērtība mainās uz "ssl_session_cache shared:le_nginx_SSL:15m".

Aizraujos ar tehnoloģijām, man patīk testēt un rakstīt pamācības par operētājsistēmām macOS, Linux, Windows, par WordPress, WooCommerce un LEMP tīmekļa servera konfigurāciju (Linux, NGINX, MySQL un PHP). Es rakstu tālāk StealthSettings.com kopš 2006. gada, un dažus gadus vēlāk es sāku rakstīt vietnē iHowTo.Tips apmācības un ziņas par ierīcēm ekosistēmā Apple: iPhone, iPad, Apple Skatīties, HomePod, iMac, MacBook, AirPods un piederumi.

Leave a Comment