Nginx compilé , http/2
Compilé nginx pour une version qui accepte le http2
Il faut interdire la mise à jour par dpkg ou apt des paquets nginx
Liste des paquets concernés
1
2
3
| root@xeuyakzas:/home/yak# sudo dpkg -l |grep nginx
ii nginx-common 1.6.2-5+deb8u4 all small, powerful, scalable web/proxy server - common files
ii nginx-extras 1.6.2-5+deb8u4 amd64 nginx web/proxy server (extended version)
|
Les paquets nginx-common et nginx-extras ne doivent pas faire l’objet d’une mise à jour
1
2
3
| sudo -s
echo "nginx-common hold" | dpkg --set-selections
echo "nginx-extras hold" | dpkg --set-selections
|
Pour avoir la liste des paquets bloqués
1
| dpkg --get-selections | grep hold
|
1
2
| nginx-common hold
nginx-extras hold
|
Compilation Nginx
Mise en place du nouveau binaire nginx
1
2
3
4
5
6
7
8
9
10
11
| sudo -s
# Arrêt et sauvegarde binaire nginx 1.6.2
systemctl stop nginx
mv /usr/sbin/nginx .
# copie du nouveau binaire nginx
cp /usr/share/nginx/sbin/nginx /usr/sbin/
# relance
systemctl start nginx
# Vérification version
nginx -V
nginx version: nginx/1.11.3
|
Utiliser le protocole HTTP/2
HTTP/2 (supporté depuis la version nginx 1.9.5) va vous permettre de gagner du temps au niveau des états d’attente car plusieurs ressources pourront être directement déchargées dans le même flux de réponse HTTP.
Afin de vous assurer que HTTP/2 est bien activé sur votre serveur, je vous invite à taper nginx -V afin de vous assurer que vous disposiez bien de l’option de compilation –with-http_v2_module ainsi qu’à vérifier que votre version d’OpenSSL utilisée par nginx est récente.
Il vous suffit simplement de spécifier dans l’attribut listen que vous souhaitez utiliser : « http2 »
1
2
3
4
| server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
...
|
1
2
| nginx -t
systemctl restart nginx
|