• #Aplicaciones
  • #Bases de datos
  • #Dispositivos
  • #Hardware
  • #Inversión
  • #Marketing
  • #Programacion
  • #Sistemas
  • Cómo activar HTTP/2 en CWP: Centos Web Panel (Apache)

    TutorialesApacheAplicacionesCentOS Web PanelPaneles hostingServidoresTipos de aplicación

    En esta guía vamos a ver cómo activar HTTP/2 en CWP utilizando el servidor Apache. Si no sabes lo que es HTTP/2, diremos que se trata de una mejora del protocolo HTTP que mejora el rendimiento de las peticiones que se hagan a tu servidor, además de ser más seguro y más estable. Todos los problemas que se han ido solucionando en el protocolo HTTP en la forma de pequeños parches, ahora tienen solución en la capa de transporte gracias a al protocolo HTTP/2.

    NOTA: Para activar HTTP/2 en CWP con Nginx consulta la guía para activar HTTP/2 en CWP (Nginx)

    Qué es el protocolo HTTP/2

    El protocolo HTTP/2 se creó para reducir los tiempos de respuesta en la comunicación cliente-servidor mediante el multiplexado de las peticiones y las respuestas. De esta forma se reduce la carga del protocolo, ya que también se comprimen los campos de la cabecera de las peticiones. También se agrega soporte nativo para los métodos push hacia el servidor y se añaden prioridades de las respuestas.

    Para agregar todas estas mejoras se ha añadido un sistema de control de errores, mecanismos de actualización y un nuevo control de flujo de las peticiones. Es importante señalar que HTTP/2 solamente funcionará cuando tienes un certificado SSL instalado en tu dominio, ya que únicamente compatible con HTTPS.

    Cómo activar HTTP/2 en Apache

    Vamos a ver cómo activar HTTP/2 en CWP (CentOS Web Panel) con Apache. Lo primero que debes hacer es acceder tu servidor mediante SSH. Luego debes seguir las instrucciones que se describen a continuación:

    1. Actualiza CentOS utilizando estos comandos:
      yum clean all
      yum -y update
    2. Ahora debes actualizar Autoconf. Para ello debes descargarte el paquete correspondiente mediante wget y descomprimirlo con estos comandos:
      cd /usr/local/src
      rm -rf autoconf-*
      wget https://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
      tar zxvf autoconf-latest.tar.gz
      
    3. Compila Autoconf con estos comandos:
      cd autoconf-*
      ./configure --prefix=/usr
      make && make install
    4. Seguidamente tienes que actualizar OpenSSL. De nuevo, usa el comando wget para descargar la última versión y luego descomprimirla. En el momento de escribir este artículo, la última versión es la 1.1.1c. Puedes consultar aquí cual es la última versión o instalar la misma que en este tutorial:
      cd /usr/local/src
      rm -rf openssl-*
      wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz
      tar zxvf openssl-1.1.1c.tar.gz
    5. Compila la versión que has descargado de OpenSSL:
      cd openssl-*
      ./config --prefix=/usr --openssldir=/usr/lib64 shared
      make && make install
    6. Comprueba la versión de OpenSSL para asegurarte de que se ha actualizado correctamente:
      openssl version
    7. Vamos a descargar e instalar Nghttp2, que es una implementación de HTTP/2. Para ello, debes descargar el archivo correspondiente con wget y luego compilarlo usando make con estos comandos:
      cd /usr/local/src
      rm -rf nghttp2-*
      yum install libtool -y
      wget https://github.com/nghttp2/nghttp2/releases/download/v1.39.1/nghttp2-1.39.1.tar.bz2
      tar zxvf nghttp2-1.39.1.tar.gz
      cd nghttp2-*
      ./configure --prefix=/usr
      make && make install
    8. Ahora que ya hemos instalado Nghttp2, debes volver a aplicar la nueva configuración de Apache haciendo un rebuild desde la interfaz de CentOS Web Panel. Para ello accede a la interfaz de CWP y navega hasta Apache Settings (Configuración de Apache) -> Apache Re-Build. Haz clic en Siguiente (Next).
    9. Al final de la configuración de Apache, debes agregar la siguiente línea –enable-http2:
      --enable-http2

      En esta imagen puedes ver el resultado final:
      Tras escribir la línea debes hacer clic en el botón inferior para iniciar el compilador y así hacer un rebuild de la configuración. Con esto ya estaría el módulo agregado y activado.

    10. Tras hacer el rebuid de Apache tienes activar HTTP/2 desde el archivo de configuración de Apache. Debes editar el archivo http2.conf, cosa que puedes hacer con el editor nano o con tu editor de terminal preferido:
      nano /usr/local/apache/conf.d/http2.conf
    11. Debes agregar las siguientes líneas al archivo de configuración:
      LoadModule http2_module modules/mod_http2.so
      LogLevel http2:info
      Protocols h2 h2c http/1.1

      Puedes escribirlas o copiarlas y pegarlas. Al terminar la edición del archivo, pulsa CTRL+C y acepta cuando se te pregunte si quieres guardar los cambios.

    Tars estos pasos, HTTP/2 ya debería estar configurado y activado en Apache.

    Cómo verificar si un dominio usa HTTP2

    Existen múltiple servicios por internet que te dirán si una URL usa HTTP/2 o no. Así sabrás si los cambios realizados han surtido efecto. En este caso usaremos la herramienta tools.keycdn.com. tendrás que introducir la URL de tu dominio en el campo de texto y hacer clic en Test. Debes recordar que el dominio que introduzcas debe usar SSL:

    Si todo va bien, se mostrará un mensaje de confirmación indicando que la URL utiliza el protocolo HTTP/2:

    Si algo ha ido mal y el dominio no usa el protocolo HTTP/2 se mostrará un mensaje de error:

    En caso de que la prueba falle, revisa todos los pasos de nuevo por si te has olvidado de algo.


    Avatar de Edu Lazaro

    Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

    👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

    Si quieres conocer mis proyectos, sígueme en Twitter.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *