Я использую сервер Apache 2.4.18, работающий под Ubuntu 16.04.1 LTS, только с установленными PHP 7 и Exim 4.
Рано утром квитирование SSL происходит очень быстро, около 200 мс, но со временем оно увеличивается (примерно через 1 час), достигая 8 секунд. Если я перезагружу Apache, SSL снова станет быстрым, но через некоторое время он снова замедлится, вернувшись к 8, а иногда и 30 секундам.
Я настроил Apache ssh.conf (etc / apache2 / mods-enabled) следующим образом:
SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/urandom 512
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog exec:/usr/share/apache2/ask-for-passphrase
SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCacheTimeout 300
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLHonorCipherOrder on
SSLProtocol all -SSLv3
SSLCompression off
SSLSessionTickets off
SSLUseStapling on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache shmcb:/var/run/ocsp(128000)
В настройках VirtualHost я установил следующий заголовок: Состояние кеша сеанса SSL / TLS
Когда HTTPS медленный: (11:04 AM): Состояние кэша сеанса SSL / TLS
Это начало происходить, когда мы переходили с сервера. Новые сертификаты не запрашивались, старые SSLCertificateFile, SSLCertificateChainFile и SSLCertificateKeyFile по-прежнему используются.
Что может замедлить его работу и как я могу это исправить?
Если у вас медленное шифрование, то в статье не упоминалось о / dev / random
vs / dev / urandom
. Файл / dev / random
может блокировать ожидание энтропии, а плохо написанное шифрование может повторять его снова и снова. Это может быть особенно заметно на виртуальной машине, так как у нее не так много возможностей обычного оборудования, генерирующего энтропию. В таком случае просто используйте / dev / urandom
.
Это одна из тех вещей, которая, вероятно, вас не волнует, но если это так, то это может быть реальная проблема, и ее трудно диагностировать, не зная, как ее искать.