Activer le support du protocole ALPN sur NGinx

Par défaut lorsque vous compilez NGinx vous utilisez 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. Je vais donc dans ce billet vous expliquer comment vous pouvez 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.

sudo 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

sudo 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

sudo apt-get update

 

Installez OpenSSL et ses librairies depuis les dépôts testing

sudo apt-get install -t stretch openssl libssl-dev

 

 

Compiler NGinx avec le support du protocole ALPN

Téléchargez les sources d’NGinx , ajoutez des modules si vous le souhaitez puis lancez la compilation comme expliqué dans l’un des articles ci-dessous

  1. Compiler et installer NGinx avec Brotli
  2. Installer NGinx avec PageSpeed et HTTP 2
  3. Installer NGinx avec PageSpeed sous Debian

 

Testez la configuration via 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

 

Maintenant tester votre site

Activer le support du protocole ALPN sur NGinx - debian