Nginx время от времени показывает страницу с ошибкой

Я использую VPS на digitalocean. У меня ежедневный трафик 500 уникальных пользователей. У меня были проблемы с загрузкой процессора и оперативной памяти на Apache. Сейчас я использую Nginx, потому что он легкий. Мой ЦП и ОЗУ находятся под контролем, но Nginx по-прежнему время от времени показывает сообщение об ошибке, которое, по моему мнению, связано с загрузкой / неправильной конфигурацией.

Я получаю эту ошибку в моих файлах журнала:

Ошибка ngx_slab_alloc(): нет памяти в сеансе SSL

У меня есть следующая конфигурация для моего сервера nginx:

keepalive_timeout   20;
ssl_session_timeout 7200m;
ssl_session_cache shared:SSL:150m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;

Какая конфигурация мне подходит, учитывая, что я использую VPS с 1 ГБ ОЗУ?

Будет ли использование таблицы сеансов базы данных (как в Laravel) решить мою проблему, независимо от конфигурации Nginx?

1 ответ

Сеанс SSL не имеет ничего общего с сеансами веб-приложений, поэтому вы не можете перенести его в Laravel, даже если это сэкономит вам память (сомнительно). Сеанс SSL содержит состояние шифрования для соединения. Судя по этой ветке разработчика, эта ошибка регистрируется даже тогда, когда распределение прошло успешно, и обсуждалось устранение ошибки с помощью параметра конфигурации (хотя я не могу сказать из потока, сделал ли он это в исходном дереве).

Но более интересная часть обсуждения подходит к концу: из спецификаций кажется, что билеты SSL и сеансы сервера являются двумя реализациями достижения одной и той же цели, и использование одного означает, что другое - нет.

Это связано с тем, что билеты выгружают информацию о сеансе клиенту, а не хранятся на сервере.

Вывод: ваша лучшая ставка для смягчения этой проблемы - включить сессионные билеты и " стимулировать" ваших пользователей к обновлению.

Другие вопросы по тегам