У меня проблема с сервером 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
.