Включение модуля HTTP2
sudo a2enmod http2
Перезапустить сервер apache:
sudo systemctl restart apache2
Добавить поддержку HTTP2
Конфигурационный файл Apache
Добавить в конфиг apache поддержку протокола HTTP2 sudo nano /etc/apache2/apache2.conf
дописать в конце:
# Для работы HTTP2
Protocols h2 http/1.1
Виртуальный хост
Или же в каждый файл конфигурации виртуального хоста дописать после тега <VirtualHost>
Protocols h2 http/1.1
Перезапустить сервер apache:
sudo systemctl restart apache2
Поддержка MPM и PHP
Начиная с Apache 2.4.27, модуль mpm_prefork
не поддерживает HTTP2 поэтому нужно выбрать другой модуль MPM, лучше mpm_event
Поскольку использую PHP, а он интегрирован в Apache через модуль mod_php
, для которого требуется mpm_prefork
, который отключаем. Придется использовать PHP как FastCGI. Чтобы переключиться на php-fpm сделать следующее:
Остановить работу веб-сервера Apache:
sudo systemctl stop apache2
Если еще не установлен php-fpm
то установить, последнюю версию или аналогичную установленной php. Как узнать установленную версию PHP на сервере.
sudo apt install php7.4-fpm
Включаем модули proxy_fcgi
и mpm_event
sudo a2enmod proxy_fcgi setenvif
sudo a2enmod mpm_event
Включаем указанный файл конфигурации в apache2, версия должна соответствовать установленной.
a2enconf php7.4-fpm
Выключаем модули php7.4
и mpm_prefork
a2dismod php7.4
a2dismod mpm_prefork
Запускаем веб-сервер Apache:
sudo systemctl start apache2
Проверяем работу протокола на любом тестовом сайте найденном в поисковике.
Комментарии