12 votes

Comment définir quel certificat SSL nginx envoie en premier avec SNI ?

J'utilise nginx 1.2.7 avec OpenSSL 0.9.8o sur Debian Squeeze pour environ 30 domaines. Sur deux d'entre eux, j'ai activé SSL, ce qui fonctionne bien sur les deux.

La configuration SSL est utilisée pour les deux domaines :

listen 443 ssl;
ssl_certificate /etc/nginx/ssl/example.org-unified.crt;
ssl_certificate_key /etc/nginx/ssl/example.org.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security max-age=600000;

En vérifiant les deux domaines à l'aide du vérificateur ssllabs.com, j'obtiens pour l'un d'entre eux la mention "Ce site ne fonctionne que dans les navigateurs prenant en charge le SNI". Pour l'autre domaine, je ne reçois pas ce message. Il semble que nginx envoie par défaut le certificat du premier domaine par ordre alphabétique aux clients ne supportant pas le SNI. Puis-je modifier ce comportement ?

En d'autres termes : Je veux configurer nginx pour qu'un domaine spécifique avec SSL fonctionne même pour les clients sans support SNI. Les autres domaines doivent également fonctionner avec SSL, mais il n'y a pas de problème si cela ne fonctionne que pour les clients avec SNI.

Gracias.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X