У меня проблема с конфигурациями моего сервера, Мой сайт отлично работает с http-запросами, но когда я изменил его на https с помощью сертификата letsencrypt - чтобы включить http2 - сервер стал очень медленным. обычный запрос с http занимает от 4 до 7 секунд, но при использовании https большинство запросов (90%) занимают до 45 секунд. У меня последняя стабильная версия apache, и я следовал официальной документации по установке letsencrypt.
Я искал решение почти неделю, но безуспешно, как это можно исправить?
1) Реализация SSL / TLS, естественно, будет иметь дополнительную задержку. Это потому, что сначала необходимо согласовать безопасную связь. Таким образом, HTTP быстрее, чем HTTPS. Но обычно это не должно вызывать у вас 4-Время загрузки составляет 7 секунд, чтобы достичь 45 секунд.
2) Это не проблема Let's Encrypt. Они просто предоставляют вам сертификат, как и любые другие центры сертификации. Их сертификаты не требуют больше времени для загрузки или согласования.
3) Убедитесь, что вы уже оптимизировали свою систему для использования SSL / TLS. Я предлагаю вам просто использовать 2048-битные ключи, а не 4096-битные. Все 2048-битные ключи считаются безопасными в соответствии с отраслевыми стандартами, а 4096-битные ключи только потребуют дополнительных ресурсов обработки и времени. Но все же, даже с 4096 битами, это не приведет к увеличению времени загрузки до 45 секунд.
Вы также можете обратиться к Mozilla за некоторыми обновленными директивами SSL и шифрами.
Наконец, рассмотрите возможность проверки конфигураций VirtualHost и SSL /etc/apache2/mods-enabled/ssl.conf
. Проблема не непосредственно в вашем сертификате.
Попробуйте активировать http2. Для этого есть простые шаги:
a2dismod php7.0
a2dismod mpm_prefork
a2enmod mpm_event
a2enmod http2
systemctl restart apache2
Затем отредактируйте (или создайте файл):
nano /etc/apache2/conf-available/http2.conf
И напишите следующее:
<IfModule http2_module>
Protocols h2 h2c http/1.1
H2Direct on
</IfModule>
Затем включите и перезапустите:
a2enconf http2
systemctl restart apache2
Это исходный код (на испанском )