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

Apache - очень медленное начальное рукопожатие (SSL включен)

У меня проблема с сервером Apache. Первоначальное подтверждение SSL занимает около 5-7 секунд, что ужасно. После этого время отклика указывается в миллисекундах, но сообщения должны быть отправлены сразу после первого, иначе рукопожатие будет выполнено снова после нескольких секунд бездействия. Есть ли способ ускорить это с помощью конфигурации Apache?

Это какой-то дистрибутив Linux, верно?

Этот сервер в основном простаивает? Возможно, Apache сгребает случайность из / dev / случайный. Иногда это может быть очень медленным, так как / dev / случайный требует «настоящей» случайности; такие вещи, как перемещение мыши, использование клавиатуры и сетевой трафик собирают энтропию. Если пул энтропии ядра почти пуст, процессы, требующие случайности, имеют тенденцию останавливаться (надолго).

В такой ситуации cat /proc/sys/kernel/random/entropy_avail должен быть близок к нулю во время подтверждения SSL.

Вы можете переключить источник случайности на / dev / urandom используя SSLRandomSeedДиректива Apache, но будьте осторожны, это теоретически не так безопасно, как / dev / random.

Другое решение - использовать демона вроде rngd (Доступна с rng-tools пакет во многих дистрибутивах Linux), который заполняет пул энтропии.

Помимо того, что сказал Янне Пиккарайнен, проверьте также, не выполняет ли сервер обратный поиск DNS для запросов SSL. Запустить tcpdump -pi eth0 port 53.