Soporte de HTTP/2 en Plesk

Información general

HTTP/2 es la segunda versión más importante del protocolo de red HTTP usado por la red. Ratificado en mayo del 2015, HTTP/2 se concibió para resolver algunos problemas significativos de rendimiento de HTTP 1.1. Si desea examinar todas las ventajas de este protocolo, haga clic aquí. Actualmente HTTP/2 es soportado por la mayoría de navegadores web.

Los clientes de Plesk pueden disponer de soporte de HTTP/2 a partir de la versión 12.5.30 Actualización #28. Tenga en cuenta que es imprescindible disponer de la versión más reciente de nginx.

Nota: HTTP/2 sólo se soporta para sitios SSL. Los sitios no SSL seguirán operando bajo HTTP/1.x.

Cómo activar el soporte de HTTP/2 para su sitio web

Compruebe que su servidor web nginx está debidamente actualizado y en ejecución. Puede comprobarlo en las páginas Herramientas y configuración -> Componentes del servidor y en Herramientas y configuración -> Administración de servicios.

components

services

Acceda a su servidor mediante SSH como root y active el soporte de HTTP/2 en Plesk usando la siguiente utilidad de línea de comandos:

# plesk bin http2_pref enable

En el último paso, su servidor web nginx se configurará para usar el protocolo TLS con ciphers modernos y seguros, se recreará toda la configuración del servidor web y todos sus sitios web y los de sus clientes que tengas soporte para SSL se transferirán a HTTP/2.

Compruebe la salida del comando para ver si existe algún error o advertencia debido al cambio a HTTP/2. De existir algún problema, consulte la sección Resolución de problemas a continuación.

Nota: para comprobar que HTTP/2 está activado en un dominio, simplemente use un servicio online como puede ser https://tools.keycdn.com/http2-test.

Si desea volver a HTTP 1.x y desactivar HTTP/2, ejecute el siguiente comando:

# plesk bin http2_pref disable
Soporte de ALPN

Para un correcto uso de HTTP/2 en Google Chrome, el servidor web nginx debe soportar ALPN (Application-Layer Protocol Negotiation). Si desea más información, consulte la documentación de ALPN.

En Plesk se soporta ALPN para servidores web nginx para los siguientes sistemas operativos: CentOS 7, RedHat Enterprise Linux 7, Ubuntu 14.04, Ubuntu 16.04 y Debian 8.

Esto significa que HTTP/2 con Plesk funciona en los sistemas operativos mencionados en todos los navegadores modernos.

Resolución de problemas

Si experimenta problemas al activar el soporte de HTTP/2 para un sitio web o bien el resultado de la verificación del sitio con https://tools.keycdn.com/http2-test muestra que únicamente se ha activado el protocolo HTTP 1.x, efectúe los pasos detallados a continuación.

  1. Compruebe que el soporte de SSL ha sido activado para el sitio web yendo a la sección Configuración de hosting del dominio. HTTP/2 sólo se soporta para sitios SSL. Los sitios no SSL seguirán operando bajo HTTP /1.x. Esto es una restricción del servidor web nginx y de los navegadores web.
  2. Compruebe que nginx ha sido activado:

    # plesk sbin nginxmng –s

    De ser necesario, actívelo:

    # plesk sbin nginxmng -e

  3. Compruebe que el paquete de OpenSSL corresponde a la versión 1.0.1 o a una versión posterior:

    # rpm -qa | grep openssl

    openssl-1.0.1e-42.el6_7.4.x86_64.

  4. Compruebe que en /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php no existe ninguna plantilla de configuración personalizada. De existir, elimínela y vuelva a crear los archivos de configuración:

    # plesk sbin httpdmng --reconfigure-all

    Como alternativa, si no desea eliminar sus personalizaciones, puede modificar el archivo /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php tal y como se detalla a continuación.

    Busque una fila similar a la siguiente:

    ($OPT['default'] ? ' default_server' : '') . ($OPT['ssl'] ? ' ssl' : '') ?>;

    Reemplácela por las dos siguientes filas:

    ($OPT['default'] ? ' default_server' : '') . ($OPT['ssl'] ? ' ssl' : '') .

    ($OPT['ssl'] && $VAR->domain->physicalHosting->proxySettings['nginxHttp2'] ? ' http2' : '') ?>;

    A continuación, ejecute el siguiente comando:

    # plesk bin http2_pref enable

  5. Compruebe que el archivo /usr/local/psa/admin/conf/panel.ini presenta la siguiente sección:

    [webserver]

    nginxHttp2 = true

  6. Compruebe que en el archivo /usr/local/psa/admin/conf/panel.ini no existe ninguna entrada incorrecta. De existir, proceda con su corrección. Si no está seguro sobre estas entradas, cree un backup de /usr/local/psa/admin/conf/panel.ini y restaure el archivo original desde /usr/local/psa/admin/conf/panel.ini.sample.

    Vuelva a crear los archivos de configuración:

    # plesk sbin httpdmng --reconfigure-all

  7. En el caso de experimentar problemas de conexión SSL teniendo HTTP/2 activado, compruebe que la directiva ssl_ciphers en /etc/nginx/conf.d/ssl.conf o en el nginxDomainVirtualHost.php personalizado presenta el siguiente valor:

    ssl_ciphers EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20:EECDH+SHA256+AES128:EECDH+SHA384+AES256:EDH+SHA256+AES128:EDH+SHA256+AES256:EECDH+SHA1+AES128:EECDH+SHA1+AES256:EDH+SHA1+AES128:EDH+SHA1+AES256:EECDH+HIGH:EDH+HIGH:AESGCM+AES128:AESGCM+AES256:CHACHA20:SHA256+AES128:SHA256+AES256:SHA1+AES128:SHA1+AES256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!KRB5:!aECDH:!EDH+3DES;

  8. Si su sitio no funciona en algunos navegadores tras activar HTTP/2, esto significa que no dispone de los ciphers ni de los protocolos necesarios para el soporte de HTTP/2. Para configurar los protocolos disponibles y la lista de los ciphers TLS tras haber activado HTTP/2, use la utilidad sslmng de Plesk. Por ejemplo, si desea usar exactamente la misma lista de ciphers que Plesk, el comando sería el siguiente:

    #plesk sbin sslmng --services=nginx --custom --ciphers="EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20" --protocols="TLSv1 TLSv1.1 TLSv1.2"

    La configuración se almacenará en el archivo /etc/nginx/conf.d/ssl.conf. No le recomendamos editar este archivo de forma manual.

  9. Si estos pasos no le ayudan a resolver el problema, póngase en contacto con el equipo de soporte técnico de Plesk.
 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.