修复 NGINX Error: SSL 握手时无法在 SSL 会话共享缓存“le_nginx_SSL”中分配新会话

一个典型的 Web 服务器错误 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 会话。 Let's Encrypt SSL证书验证的时间,安装在服务器上的帮助 certbot.

为什么 NGINX 错误“无法在 SSL 会话共享缓存中分配新会话”le_nginx_SSL“虽然 SSL 握手”

NGINX SSL 会话存储在共享内存中,为浏览器中的每个查询提供服务。 当共享 SSL 缓存空间已满且 NGINX 无法为新会话释放空间时,会出现此错误消息。

这不是关于一个 NGINX 的严重错误 也不会对用户体验产生巨大影响。 顺便说一下“error.log ”表示为“[alert]“。

如何修复 NGINX 错误“无法在 SSL 会话共享缓存中分配新会话”le_nginx_SSL“虽然 SSL 握手”

当您安装 Certbot 在 Web 服务器(CentOS、Ubuntu)上创建了几个配置文件,负责 SSL(让我们加密)证书的新服务通过这些文件与 NGINX 通信。 这些文件之一是和 options-ssl-nginx.conf. 我们可以在配置文件中为 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”的共享共享内存中存储的时间。 我为 SSL 共享缓存会话分配了 10 MB,超时时间为 1440 分钟(24 小时)。

对于高流量站点,建议增加共享缓存,但需要在流量(会话数)和会话存储时间之间取得平衡。

在我的情况下,值在“ssl_session_cache shared:le_nginx_SSL:15m“。

对技术充满热情,我喜欢测试和编写有关操作系统的教程 macOS,Linux, Windows, 关于 WordPress、WooCommerce 和 LEMP Web 服务器配置(Linux、NGINX、MySQL 和 PHP)。 我写在 StealthSettings.com 自 2006 年以来,几年后我开始撰写 iHowTo.Tips 教程和有关生态系统中设备的新闻 Apple: iPhone,iPad, Apple 手表,HomePod, iMac, MacBook、AirPods 和配件。

发表评论