J'ai installé nginx sur plusieurs serveurs (nos équilibreurs de charge).
Lorsque je vérifie mon installation SSL avec https://www.ssllabs.com/ J'obtiens des résultats A+ pour chaque serveur mais le premier serveur a toujours
Reprise de session (mise en cache) Non (IDs assignés mais non acceptés)
alors que tous les autres serveurs ont
Reprise de session (mise en cache) Oui
Tous les serveurs sont configurés automatiquement, donc identiques. J'ai en outre vérifié la configuration de nginx avec
/usr/sbin/nginx -T > lb1.nginx
/usr/sbin/nginx -T > lb2.nginx
...
Mais il n'y a pas de différences.
ssl_session est configuré de cette façon sur chaque serveur :
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:100m;
Maintenant vient la partie intéressante :
J'ai dix équilibreurs de charge et le premier est marqué par ssllabs avec 'session Resumption' : Non'.
Maintenant, j'ai déplacé l'adresse IP du premier serveur vers le second. La première requête de ssllabs, qui est maintenant envoyée au second serveur, affiche 'session Resumption : Non'. La deuxième demande qui va vers le deuxième serveur, aussi, montre 'session Resumption : Oui'. Mais les deux requêtes arrivent au même serveur.
Il me semble que ssl labs fait quelque chose de différent avec la première requête.
Peut-il y avoir une autre raison pour laquelle ssllabs ne montre PAS de reprise de session uniquement pour la première demande, quel que soit le serveur "premier" ?