Назад | Перейти на главную страницу

nginx - возобновление ssl-сессии

Я установил 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. Спасибо