Типова помилка веб-сервера з NGINX si Certbot, який я нещодавно виявив у 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
Це помилка, яка трапляється епізодично, лише за певних сценаріїв та найчастіше на веб-сайтах із високим трафіком. Велика кількість запитів.
"le_nginx_SSL
», Як можна зрозуміти з назви, відповідає за сесії SSL служили для допитів. Час, коли також перевіряється сертифікат SSL Let's Encrypt, встановлений на сервері за допомогою certbot
.
Чому виникає помилка NGINX «не вдалося виділити новий сеанс у SSL спільний кеш сеансу "le_nginx_SSL”Поки SSL рукостискання »
Сеанси SSL NGINX зберігаються в спільній пам’яті для спільного використання з кожним запитом у браузері. Коли простір виділяється під спільну пам'ять (загальний) кеш SSL заповнений і NGINX не може звільнити місце для нового сеансу, з’являється це повідомлення про помилку.
Справа не в одному критична помилка NGINX і це не робить величезного впливу на взаємодію з користувачем. До речі у “error.log "позначається"[alert]
».
Як виправити помилку NGINX «не вдалося виділити новий сеанс у SSL спільний кеш сеансу "le_nginx_SSL”Поки SSL рукостискання »
при установці Certbot на веб-сервері (CentOS, Ubuntu) створюється кілька конфігураційних файлів, за допомогою яких нова служба відповідає за сертифікати SSL (Let's Encrypt) спілкується з NGINX. Одним із цих файлів є і options-ssl-nginx.conf
. Файл конфігурації, у якому ми можемо виділити більше місця для спільної пам’яті a SSL або ми можемо змінити час сеансу SSL закінчується та автоматично видаляється.
sudo nano /etc/letsencrypt/options-ssl-nginx.conf
In options-ssl-nginx.conf
ми можемо змінити параметри, але будьте дуже обережні, оскільки зміни тут вплинуть на оновлення сертифікатів 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;
Ми можемо змінити тривалість зберігання сеансу в спільній пам’яті для «le_nginx_SSL”. Я виділив 10 МБ для сеансів спільного кешу SSL, з тайм-аутом 1440 хвилин (24 години).
Для сайтів із великим трафіком рекомендується збільшити загальний кеш, але потрібен баланс між трафіком (кількістю сеансів) і кількістю часу, протягом якого сеанс буде зберігатися.
У моєму випадку значення змінюється на "ssl_session_cache shared:le_nginx_SSL:15m
».