Я пытаюсь включить http2 h2c на моем веб-сайте под ubuntu 18.04 и apache2, но это не работает. вот что я сделал
<VirtualHost *:80>
ServerName 167.71.149.xxx
DocumentRoot /var/www/php56/folder1
Protocols h2c http/1.1
<Directory /var/www/php56/folder1>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
# Apache 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<IfModule mod_dir.c>
DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
</IfModule>
</VirtualHost>
Но я получаю заголовки http / 1.1 с использованием хрома (обновленный) и не знаю, что проверять
Просто сделал
curl -I -k --http2 http://167.71.149.xxx/
HTTP / 1.1 101 Обновление протоколов коммутации: соединение h2c: обновление
HTTP / 2 200 Дата: четверг, 1 января 1970 г., 00:00:00 Сервер по Гринвичу: Apache / 2.4.29 (Ubuntu) тип содержимого: text / html; charset = UTF-8
Убедитесь, что вы включили модуль HTTP / 2 с помощью
$ a2enmod http2
$ apache2ctl -M | grep http2
http2_module (shared)
Строка протоколов должна гласить:
Protocols h2 h2c http/1.1
Но я получаю заголовки http / 1.1 с использованием хрома (обновленный) и не знаю, что проверять
Браузеры поддерживают только HTTP / 2 через HTTPS: https://stackoverflow.com/questions/34076231/why-do-browser-implementations-of-http-2-require-tls