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

Устранение неполадок слишком длинного SSL-соединения

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

SSL-соединение слишком долгое

Но я не могу понять причину этой проблемы.

Когда все в порядке,

openssl s_client -connect localhost:443

возвращает мне ответ менее чем за 50 миллисекунд. Но когда я сталкиваюсь с медленным подключением, эта команда возвращает мне ответ через 5-10 секунд.


Поэтому я решил контролировать свой веб-сервер с помощью нескольких показателей, таких как память, ЦП, количество открытых файлов Apache, http-сеансы, но ни один из них, похоже, не связан с проблемой.

Когда я просматриваю свой веб-сайт по протоколу HTTP вместо HTTPS, у меня нет проблем.

На панели безопасности инструментов разработчика Chrome он сообщает мне, что сертификат действителен.

Не могли бы вы помочь мне найти причину проблемы?


Обновление №1:

Вот мой /etc/apache2/mods-enabled/ssl.conf:

SSLRandomSeed startup builtin SSLRandomSeed startup file:/dev/urandom 512 SSLRandomSeed connect builtin SSLRandomSeed connect file:/dev/urandom 512

И cat /proc/sys/kernel/random/entropy_avail возвращает мне около 800.

Если задержка действительно связана с согласованием сеанса SSL, вы можете проверить, если SSLRandomSeed директива указывает на /dev/random. / dev / random достаточно безопасен, но он также блокирует, когда ваша система имеет недостаточную энтропию (проверьте с помощью cat /proc/sys/kernel/random/entropy_avail).

Изменение SSLRandomSeed использовать /dev/urandom (который никогда не блокируется) обычно является решением этой проблемы.