GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo configurar Apache con HTTP/2 en Ubuntu 16.04

Le mostraremos cómo configurar Apache con HTTP/2. HTTP/2 es la primera actualización importante del protocolo HTTP desde 1997. El objetivo principal de HTTP/2 es disminuir la latencia, reducir el número total de conexiones TCP y, por lo tanto, mejorar la velocidad de carga de la página en los navegadores web. HTTP/2 es compatible con versiones anteriores de HTTP/1.1, toda la semántica de aplicación de HTTP es la misma, excepto la forma de transmitir datos a través de una conexión TCP. HTTP/2 aprovecha la multiplexación y permite solicitudes asincrónicas (paralelas) y proporciona compresión de datos de encabezados HTTP. Además, el método de inserción del servidor en HTTP/2 permite que el servidor envíe múltiples respuestas para una sola solicitud.

El soporte HTTP/2 no está incluido en Ubuntu 16.04, ni con nginx ni con Apache porque esta característica se considera experimental por el proyecto upstream Apache httpd, por lo que no es posible habilitarlo en un VPS Ubuntu 14.04 usando el comando a2enmod:

a2enmod http2
ERROR: Module http2 does not exist!

La compatibilidad con HTTP/2 debe estar habilitada en Ubuntu 16.04 después de que Apache httpd upstream considere que esta compatibilidad no es experimental.
Afortunadamente, el módulo Http2 está incluido en la fuente, así que siga estos pasos para habilitar la compatibilidad con HTTP/2 en Servidor web Apache:

1. Agregar URI de origen

Agregue URI de origen al archivo sources.list si aún no lo ha hecho:

vi /etc/apt/sources.list

agregue las siguientes líneas al final:

deb-src http://archive.ubuntu.com/ubuntu/ xenial main universe restricted multiverse
deb-src http://security.ubuntu.com/ubuntu xenial-security main universe restricted multiverse
deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates main universe restricted multiverse

2. Descarga las listas de paquetes de los repositorios

Ejecute el comando 'apt-get update' para descargar las listas de paquetes de los repositorios y actualícelos para obtener información sobre las versiones más recientes de los paquetes, luego actualice los paquetes del sistema operativo Ubuntu 16.04 usando el comando 'apt-get upgrade':

apt-get update
apt-get upgrade

3. Instalar requisitos previos

Instale los requisitos previos necesarios:

apt-get install curl devscripts build-essential fakeroot

4. Crear nuevo usuario

Cree un nuevo usuario o cambie a una cuenta de usuario existente:

sudo adduser <username> sudo
su <username>

Reemplace con un nombre de usuario real.

5. Instalar libnghttp2-dev

Instale el paquete libnghttp2-dev:

[user]$ cd ~
[user]$ sudo apt-get install libnghttp2-dev
[user]$ mkdir apache2
[user]$ cd apache2

6. Descarga las fuentes de apache2

Descargue las fuentes de apache2 en su servidor y constrúyalas:

[user]$ apt-get source apache2
[user]$ sudo apt-get build-dep apache2
[user]$ cd apache-2.4.18
[user]$ sudo apt-get install curl devscripts build-essential fakeroot
[user]$ fakeroot debian/rules binary
[user]$ sudo cp debian/apache2-bin/usr/lib/apache2/modules/mod_http2.so /usr/lib/apache2/modules/
[user]$ exit

7. Cargue el módulo HTTP/2.

Cargue el módulo HTTP/2. Cree un archivo /etc/apache2/mods-disponible/http2.load y agregue las siguientes líneas:

LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so

<IfModule http2_module>
LogLevel http2:info
</IfModule>

8. Habilitar y configurar el módulo Apache HTTP2

Habilitar el módulo http2:

a2enmod http2

Agregue 'Protocolos h2 http/1.1' a cada host virtual basado en SSL. Por ejemplo, edite el archivo de configuración predeterminado-ssl:

vi /etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c>
 <VirtualHost _default_:443>
 ServerAdmin webmaster@localhost
 ServerName your-domain.com
 Protocols h2 http/1.1
 DocumentRoot /var/www/html
 
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 
 SSLEngine on

 SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
 SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

 <FilesMatch "\.(cgi|shtml|phtml|php)$">
 SSLOptions +StdEnvVars
 </FilesMatch>
 <Directory /usr/lib/cgi-bin>
 SSLOptions +StdEnvVars
 </Directory>

 </VirtualHost>
</IfModule>

O agregue "Protocolos h2 http/1.1" a la configuración principal de Apache para habilitar http2 en todos los sitios web:

vi /etc/apache2/apache2.conf

Agregue esta línea al final:

Protocols h2 http/1.1

9. Reinicie el servidor web Apache

Reinicie Apache para que los cambios surtan efecto:

service apache2 restart

Eso es. Se ha habilitado la compatibilidad con HTTP/2 en su servidor web Apache.

Por supuesto, no tiene que configurar Apache con HTTP/2 en Ubuntu 16.04, si utiliza uno de nuestros servicios de alojamiento de VPS de alto rendimiento, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que configuren Apache con soporte HTTP/2 para ti. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD. Si le gustó esta publicación, sobre cómo configurar Apache con soporte HTTP/2 en Ubuntu 16.04, compártala con sus amigos en las redes sociales usando los botones a continuación, o simplemente deje una respuesta a continuación. Gracias.


Panels
  1. Cómo instalar Odoo 10 en Ubuntu 16.04 con Apache como proxy inverso

  2. Cómo instalar Odoo 12 en Ubuntu 18.04 con Apache como proxy inverso

  3. Cómo instalar Odoo 14 en Ubuntu 20.04 con Apache como proxy inverso

  4. Cómo instalar Let's Encrypt en Ubuntu 20.04 con Apache

  5. Cómo instalar Magento 2.4 con OpenLiteSpeed ​​en Ubuntu 20.04

Cómo habilitar el protocolo HTTP/2 con Apache en Ubuntu 20.04

Cómo habilitar la compatibilidad con HTTP/2.0 en Apache

Cómo habilitar HTTP/2 en Apache en Ubuntu

Cómo configurar Nginx con soporte HTTP/2 en Ubuntu 18.04

Cómo configurar servidores virtuales Apache en Ubuntu 18.04

Cómo habilitar HTTP/2 con Apache en Ubuntu