Linuxoid.pro

Сообщество разработчиков программного обеспечения и IT-специалистов

Как включить HTTP/2 в Apache в системе Linux

В Ubuntu и Debian Linux вы можете установить сервер Apache и разместить свой собственный веб-сайт. И, если вы когда-либо пытались использовать веб-сервер Apache в Red Hat или Fedora Linux, вы могли знать, что daemon HTTP (httpd) работает в фоновом режиме вашей системы Linux для передачи гипермедиа и ответа на запрос сервера.

После установки daemon HTTP в вашей системе вы можете включить HTTP / 2.0 в вашей системе Linux.

Когда вы разрешаете службу HTTP / 2.0 на сервере Apache, это увеличивает скорость ответа вашего сервера и клиента. Настроить и включить службы HTTP / 2.0 на сервере Apache легко и просто.

Включить HTTP/2 в Apache в Linux

Для включения HTTP / 2.0 требуются протоколы HTTPS и TLS; убедитесь, что ваш сервер защищен методом сертификации SSL. Чтобы получить сертификат SSL, вы можете следовать нашему предыдущему руководству по методу Let’s Encrypt (Certbot) в вашей системе Linux.

Кроме того, убедитесь, что и на вашем сервере, и на стороне браузера есть возможность включить службу HTTP / 2.0. Благодаря современным браузерам есть встроенная возможность использовать службы HTTP / 2.0. В этом посте мы увидим, как включить HTTP / 2.0 на сервере Apache.

Шаг 1. Проверьте возможность включения HTTP/2.0.

В Linux для включения службы HTTP / 2.0 на сервере Apache необходим сервер Apache 2.4.17 или более поздней версии. Чтобы проверить, какую версию сервера Apache вы используете в настоящее время, выполните следующие команды в оболочке терминала.

Проверить версию Apache в Debian / Ubuntu Linux

apache -v

Проверить версию Apache в Red Hat / Fedora Linux

httpd -v

Если вы являетесь пользователем Debian Linux, вы также можете запустить следующую команду a2enmod, чтобы убедиться, что ваш сервер интегрирован с модулем SSL.

sudo a2enmod ssl

Вы также можете запустить следующую команду в своей оболочке, чтобы проверить, установлен ли в вашей системе модуль HTTP2 или нет.

sudo a2enmod http2

Шаг 2. Настройте сервер Apache для включения HTTP / 2.0

Убедившись, что ваш сервер Apache может использовать протоколы HTTP / 2.0, пора включить протокол HTTP / 2.0. Процесс включения HTTP / 2.0 в системах Linux на базе Debian и Red Hat практически одинаков. Здесь мы увидим, как вы можете настроить сценарий вашего сервера Apache для включения HTTP / 2.0 в вашей системе Linux.

1. Включите HTTP / 2.0 в Apache на Ubuntu / Debian.

В Ubuntu или других дистрибутивах Debian Linux сценарий конфигурации сервера Apache хранится в каталоге / etc / apache2 /. Вы можете найти сценарий локальной конфигурации и отредактировать протокол HTTP из сценария. Выполните следующую команду в оболочке терминала с правами root, чтобы отредактировать сценарий. Не забудьте заменить demo.ubuntupit.com адресом своего сервера.

sudo nano /etc/apache2/sites-enabled/demo.ubuntupit.com-le-ssl.conf

Теперь добавьте следующий протокол HTTP / 2.0 внизу скрипта.

Protocols h2 http/1.1

<VirtualHost *:443> 
ServerName demo.ubuntupit.com 
ServerAlias wdemo.ubuntupit.com 
DocumentRoot /var/www/public_html/demo.ubuntupit.com 
SSLEngine on 
SSLCertificateKeyFile /path/to/private.pem 
SSLCertificateFile /path/to/cert.pem 
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 
Protocols h2 http/1.1 
</VirtualHost>

Затем сохраните и отредактируйте файл. Теперь вы можете перезапустить сервер Apache, чтобы увидеть последствия.

sudo systemctl restart apache2

2. Включите HTTP / 2.0 в Apache в Red Hat / Fedora.

Поскольку Red Hat и Fedora Linux используют службу HTTP-daemon (httpd) для запуска сервера Apache, вы будете редактировать сценарий конфигурации httpd, чтобы включить протокол HTTP / 2.0 в системе на основе Red Hat. Перед включением протокола HTTP было бы полезно, если бы вы получили модуль HTTP2 и интегрировали его со своим сервером.

Вы можете запустить следующую командную строку DNF в оболочке терминала, чтобы установить модуль HTTP2 в вашей системе.

sudo dnf -y install mod_http2

Затем перезапустите daemon HTTP в вашей системе Linux.

sudo systemctl restart httpd

Теперь вы можете выполнить следующую команду в оболочке терминала с правами root, чтобы отредактировать сценарий конфигурации Apache. Здесь я использую редактор сценариев Nano, а вы можете использовать свой любимый редактор для редактирования сценария конфигурации Apache.

sudo nano /etc/httpd/conf.d/domain-name.com.conf

После открытия редактора вы можете поместить в сценарий следующую строку протокола HTTP.

Protocols h2 http/1.1

Здесь вы можете следовать демонстрационному сценарию, чтобы понять, куда следует поместить адрес протокола. Вы можете поместить адрес протокола HTTP / 2.0 внизу скрипта прямо перед закрывающим тегом виртуального хоста.

<virtualhost :443>
Protocols h2 http/1.1
...</virtualhost>

Шаг 3. Проверьте и закройте

После успешного включения протокола HTTP / 2.0 на сервере Apache пришло время проверить статус сервера. Вы можете проверить протокол HTTP из веб-браузера или выполнить следующую команду cURL с правами root. Команда cURL вернет вам статус типа соединения и типа протокола HTTP.

sudo curl -v —http2 http: // localhost

Чтобы проверить версию протокола HTTP из веб-браузера, вам необходимо открыть свой сайт и щелкнуть правой кнопкой мыши на своей веб-странице, чтобы открыть вкладку «Проверить элемент». После открытия проверки элементов теперь вы можете найти инструмент сетевого мониторинга, чтобы просмотреть версию протокола HTTP.

Выводы

Включение протокола HTTP / 2.0 на сервере Apache — не сложная задача. Во всем посте я описал методы установки модулей HTTP2 и включения протокола HTTP / 2.0 на сервере Apache в Linux.

Если вы найдете этот пост полезным и информативным, поделитесь им со своими друзьями и сообществом Linux. Мы также рекомендуем вам записать свое мнение об этом сообщении в разделе комментариев.