- Modifié
Par défaut lorsque vous installez NGinx depuis les dépôts officiels ce dernier est compilé avec l'une des versions 1.0.1 d'OpenSSL cependant les librairies OpenSSL ne supportent le protocole ALPN que depuis les versions 1.0.2. C'est l'extension TLS NPN qui est alors utilisée ce qui se révélera problématique puisque Google a annoncé le 11 Février 2016 que Chrome ne supporterait plus le protocole NPN à partir du 15 Mai 2016.
Activer le support du protocole ALPN sur NGinx
OpenSSL et ses librairies ne sont pas disponibles dans leur version 1.0.2 sur les dépôts stables de Debian, nous allons devoir utiliser les dépôts stretch. Commençons donc par créer une policy APT qui nous permettra d'installer la version testing d'un paquet si et seulement si nous en faisons la demande.
Collez la ligne suivante dans ce nouveau fichier et sauvegardez le
Maintenant modifiez votre fichier sources.list
Ajoutez les dépôts testing
Mettez à jour la liste des paquets disponibles
Installez OpenSSL et ses librairies depuis les dépôts testing
Compiler NGinx avec le support du protocole ALPN
Configuration du dépôt officiel NGinx
Afin de pouvoir récupérer la dernière version de NGinx et ses sources nous allons devoir ajouter le dépôt officiel de NGinx. Lançons donc les commandes suivantes
Récupérons la clé GPG qui permet de signer les paquets
Nous pouvons mettre la liste des paquets à jour
Installation des dépendances
Installons les paquets requis pour pouvoir compiler
Meme chose mais pour NGinx
Téléchargement des sources
Téléchargeons les sources NGinx
Vous devriez alors récupérer plusieurs fichiers et un dossier contenant les sources
Compilation
Avant de lancer la compilation en elle même nous allons ajouter une entrée au changelog
La compilation du paquet peut être lancée via la commande suivante (le processus va prendre quelques minutes)
Installation de NGinx avec HTTP 2 et ALPN
Lancez la commande suivante afin d’installer le paquet
Afin d’être sûr que votre version de NGinx ne soit pas remplacée par une mise à jour venant des dépôts officiels changeons le statut du paquet
Vérifiez que le statut du paquet soit bien en « hold »
[h]Test de la configuration
[/h]Pour cela il vous suffit de lancer la commande suivante
Si tout va bien vous devriez obtenir le résultat suivant
Testez votre site
Sources
https://www.noobunbox.net/serveur/auto-hebergement/installer-nginx-avec-pagespeed-et-http-2
https://www.noobunbox.net/serveur/auto-hebergement/activer-le-support-du-protocole-alpn-sur-nginx
Activer le support du protocole ALPN sur NGinx
OpenSSL et ses librairies ne sont pas disponibles dans leur version 1.0.2 sur les dépôts stables de Debian, nous allons devoir utiliser les dépôts stretch. Commençons donc par créer une policy APT qui nous permettra d'installer la version testing d'un paquet si et seulement si nous en faisons la demande.
nano /etc/apt/apt.conf.d/99defaultrelease
Collez la ligne suivante dans ce nouveau fichier et sauvegardez le
APT::Default-Release "jessie";
Maintenant modifiez votre fichier sources.list
nano /etc/apt/sources.list
Ajoutez les dépôts testing
#Stretch - OpenSSL
deb http://mirrors.kernel.org/debian/ stretch main
deb-src http://mirrors.kernel.org/debian/ stretch main
Mettez à jour la liste des paquets disponibles
apt-get update
Installez OpenSSL et ses librairies depuis les dépôts testing
apt-get install -t stretch openssl libssl-dev
Compiler NGinx avec le support du protocole ALPN
Configuration du dépôt officiel NGinx
Afin de pouvoir récupérer la dernière version de NGinx et ses sources nous allons devoir ajouter le dépôt officiel de NGinx. Lançons donc les commandes suivantes
echo "deb http://nginx.org/packages/mainline/debian/ jessie nginx" >> /etc/apt/sources.list
echo "deb-src http://nginx.org/packages/mainline/debian/ jessie nginx" >> /etc/apt/sources.list
Récupérons la clé GPG qui permet de signer les paquets
wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
Nous pouvons mettre la liste des paquets à jour
apt-get update
Installation des dépendances
Installons les paquets requis pour pouvoir compiler
apt-get -y install build-essential devscripts debhelper libparse-debcontrol-perl zlib1g-dev libpcre3 libpcre3-dev unzip dpkg-dev openssl libssl-dev libperl-dev libxslt-dev libgd2-xpm-dev libgeoip-dev
Meme chose mais pour NGinx
apt-get build-dep nginx
Téléchargement des sources
Téléchargeons les sources NGinx
cd /tmp
apt-get source nginx
Vous devriez alors récupérer plusieurs fichiers et un dossier contenant les sources
root@noobunbox:/tmp# ls
nginx-1.9.12
nginx_1.9.12-1~jessie.debian.tar.xz
nginx_1.9.12.orig.tar.gz
nginx_1.9.12-1~jessie.dsc
Compilation
Avant de lancer la compilation en elle même nous allons ajouter une entrée au changelog
cd nginx-1.9.12
dch -i "ALPN Support"
La compilation du paquet peut être lancée via la commande suivante (le processus va prendre quelques minutes)
dpkg-buildpackage -b -us -uc
cd ..
Installation de NGinx avec HTTP 2 et ALPN
Lancez la commande suivante afin d’installer le paquet
dpkg -i nginx_1.9.12-1~{VOTRE-VERSION}_amd64.deb
Afin d’être sûr que votre version de NGinx ne soit pas remplacée par une mise à jour venant des dépôts officiels changeons le statut du paquet
apt-mark hold nginx
Vérifiez que le statut du paquet soit bien en « hold »
dpkg --get-selections | grep nginx
[h]Test de la configuration
[/h]Pour cela il vous suffit de lancer la commande suivante
nginx -V
Si tout va bien vous devriez obtenir le résultat suivant
root@noobunbox:~# nginx -V
nginx version: nginx/1.9.12
built by gcc 4.9.2 (Debian 4.9.2-10)
built with OpenSSL 1.0.2f 28 Jan 2016
TLS SNI support enabled
Testez votre site
Sources
https://www.noobunbox.net/serveur/auto-hebergement/installer-nginx-avec-pagespeed-et-http-2
https://www.noobunbox.net/serveur/auto-hebergement/activer-le-support-du-protocole-alpn-sur-nginx