Я установил nginx на несколько серверов (наши балансировщики нагрузки).
Когда я проверяю установку SSL с помощью https://www.ssllabs.com/ Я получаю результаты A + для каждого сервера, но первый сервер всегда
Возобновление сеанса (кеширование) Нет (ID присвоены, но не приняты)
в то время как на всех других серверах есть
Возобновление сеанса (кеширование) да
Все серверы настраиваются автоматически, поэтому идентичны. Я дополнительно проверил конфигурацию nginx с помощью
/usr/sbin/nginx -T > lb1.nginx
/usr/sbin/nginx -T > lb2.nginx
...
Но отличий нет.
ssl_session настроен таким образом на каждом сервере:
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:100m;
А теперь самое интересное:
У меня десять балансировщиков нагрузки, и первый помечен ssllabs с 'возобновлением сеанса: Нет'.
Теперь я переместил IP-адрес первого сервера на второй сервер. Первый запрос ssllabs, который теперь отправляется на второй сервер и показывает «Возобновление сеанса: Нет». Второй запрос, который также поступает на второй сервер, показывает «Возобновление сеанса: Да». Но оба запроса поступают на один и тот же сервер.
Мне кажется, что с первым запросом ssl labs поступает иначе.
Может ли быть какая-то другая причина, по которой ssllabs не показывает возобновления сеанса только для первого запроса, независимо от того, какой сервер «первый»?
Я думаю, вам нужно добавить эту конфигурацию, если у вас все еще нет текущей конфигурации,
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 5m;
А вы уверены, что у двух серверов одинаковая конфигурация? Пожалуйста, проверьте с помощью команды 'nginx -T', эта команда покажет фактическую конфигурацию nginx. Если есть разница между результатом выполнения команды nginx -T между двумя серверами, то ошибка связана с тем, что вы не перезагрузили конфигурацию nginx. Спасибо