Prendre en charge le HTTP/2 dans Plesk

Vue d'ensemble

HTTP/2 est la deuxième version majeure du protocole réseau HTTP utilisé sur le World Wide Web. Ratifié en mai 2015, HTTP/2 a été créé pour résoudre de gros problèmes de performance du protocole HTTP 1.1. Vous pouvez découvrir les avantages de ce protocole ici. Actuellement, HTTP/2 est pris en charge par les principaux navigateurs Web.

La prise en charge HTTP/2 est disponible pour les clients Plesk à partir de la version 12.5.30, mise à jour 28, et exige la dernière version de Nginx.

Remarque : HTTP/2 n'est pris en charge que pour les sites SSL. Les sites non-SSL utilisent donc toujours HTTP/1.x.

Activation de la prise en charge HTTP/2 pour votre site Web

Assurez-vous que le serveur Web Nginx est bien à jour (dernière version) et fonctionnel. Pour ce faire, consultez les pages Outils & Paramètres > Composants du serveur et Outils & Paramètres > Gestion de services.

composants

services

Identifiez-vous sur votre serveur via SSH sous le root et activez la prise en charge HTTP/2 dans Plesk à l'aide de l'utilitaire de ligne de commande suivant :

# plesk bin http2_pref enable

Pendant la dernière étape, votre serveur Web Nginx est configuré pour l'utilisation du protocole TLS avec des chiffrements sûrs et actuels, toute la configuration du serveur Web est reconçue et tous les sites des clients avec "prise en charge SSL" passent au protocole HTTP/2.

Examinez le résultat de la commande pour voir s'il contient des erreurs ou des avertissements liés au passage au HTTP/2. En cas de problème, consultez la section Résolution des problèmes ci-dessous.

Remarque : vous pouvez simplement utiliser un service en ligne comme https://tools.keycdn.com/http2-test pour vérifier si HTTP/2 est activé sur un domaine.

Si vous souhaitez revenir au HTTP 1.x et désactiver HTTP/2, utilisez la commande suivante :

# plesk bin http2_pref disable
Prise en charge ALPN

Pour le bon usage du HTTP/2 dans Google Chrome, le serveur Web Nginx doit prendre en charge l'extension ALPN. Pour plus d'informations, reportez-vous à la documentation ALPN.

La prise en charge ALPN pour le serveur Web Nginx est disponible dans Plesk pour les systèmes d'exploitation suivants : CentOS 7, RedHat Enterprise Linux 7, Ubuntu 14.04, Ubuntu 16.04 et Debian 8.

Cela signifie que le protocole HTTP/2 géré par Plesk fonctionne avec ces OS dans tous les navigateurs actuels.

Résolution des problèmes

Si vous rencontrez des difficultés lors de l'activation de la prise en charge HTTP/2 pour un site Web ou si après vérification d'un site avec https://tools.keycdn.com/http2-test il s'avère que le protocole HTTP 1.x est activé, procédez comme suit pour résoudre le problème.

  1. Assurez-vous que la prise en charge SSL est activée pour le site Web dans la section Paramètres d'hébergement du domaine. HTTP/2 n'est pris en charge que pour les sites SSL. Les sites non-SSL utilisent donc toujours HTTP/1.x. Il s'agit d'une restriction du serveur Web Nginx et des navigateurs Web.
  2. Vérifiez que Nginx est activé :

    # plesk sbin nginxmng –s

    Activez si nécessaire :

    # plesk sbin nginxmng -e

  3. Vérifiez que le pack OpenSSL est de version 1.0.1 ou supérieure :

    # rpm -qa | grep openssl

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

  4. Vérifiez qu'il n'y a pas de template de configuration personnalisé dans /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php. S'il y en a un, supprimez-le et recréez les fichiers de configuration :

    # plesk sbin httpdmng --reconfigure-all

    Autre solution, si vous ne voulez pas supprimer vos personnalisations : modifiez le fichier /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php comme ci-dessous.

    Trouvez la ligne du type :

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

    Remplacez-la par les deux lignes suivantes :

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

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

    Ensuite, exécutez la commande :

    # plesk bin http2_pref enable

  5. Vérifiez que le fichier /usr/local/psa/admin/conf/panel.ini inclut cette section :

    [webserver]

    nginxHttp2 = true

  6. Vérifiez qu'il n'y a pas d'entrées incorrectes dans le fichier /usr/local/psa/admin/conf/panel.ini. Si vous en trouvez, corrigez-les. Si vous avez un doute quant à ces entrées, sauvegardez /usr/local/psa/admin/conf/panel.ini et restaurez le fichier d'origine depuis /usr/local/psa/admin/conf/panel.ini.sample.

    Recréez les fichiers de configuration :

    # plesk sbin httpdmng --reconfigure-all

  7. En cas de problèmes de connexion SSL avec HTTP/2 activé, vérifiez que la directive ssl_ciphers dans /etc/nginx/conf.d/ssl.conf ou dans le fichier personnalisé nginxDomainVirtualHost.php inclut la valeur suivante :

    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 votre site ne fonctionne pas avec certains navigateurs après activation du HTTP/2, cela peut signifier qu'il y a des chiffrements et protocoles inutiles pour la prise en charge HTTP/2. Faites appel à l'utilitaire sslmng de Plesk pour configurer la liste des protocoles et des chiffrements TLS disponibles après activation du HTTP/2. Par exemple, si vous souhaitez utiliser exactement la même liste de chiffrements que Plesk, la commande est la suivante :

    #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 configuration est alors stockée dans le fichier /etc/nginx/conf.d/ssl.conf. Nous déconseillons la modification manuelle de ce fichier.

  9. Si aucune des étapes précédentes n'a résolu le problème, contactez l'assistance technique 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.