Nginx + plusieurs sous domaines + ssl (lestencrypt) : comment bien faire ?

Hello,

J’aimerais savoir comment réaliser une installation propre avec des vhost dans nginx, tout en ayant plusieurs sous domaines. Admettons que mon domaine se nomme mondomaine.com et que je distribue plusieurs services, par exemple postfixadmin, phpmyadmin, munin, etc… et que je veuille que tout ça soit derrière du SSL, en A+ à sslabs.

Voici mes questions :

  • Mieux vaut-il avoir UN certificat ssl pour mondomaine.com et ensuite utiliser ce même certificat pour phpmyadmin.mondomaine.com, munin.phpmyadmin.mondomaine.com, etc… Ou bien, avoir, comme j’ai là, un certificat SSL pour chaque sous domaine, mais également un pour le domaine principale ?

  • Actuellement, j’ai une configuration qui, pour la partie SSL, est commune à tous mes sous domaines et qui me donne un résultat en A+ à sslabs. Cette configuration SSL (pour la partie SSL uniquement j’insiste) est identique pour chacun de mes sous domaine, la seule différence étant bien-sure l’emplacement du certificat pour chacun d’eux. Ça marche pour les 5 sous domaines, ils sont joignables proprement, mais en revanche deux d’entres eux ont l’erreur :
    Alternative names munin.mondomaine.com MISMATCH (ici pour le test avec le domaine mail.mondomaine.com)
    Pourquoi ? Impossible de résoudre ce problème de mismatch. Et quand je vire l’un des certificats pour un sous domaine, l’erreur se “déplace” à un autre sous domaine.

  • Pour commentaire/avis, que pensez-vous de cette conf ? Peut-on l’améliorer ? :

listen 443 ssl;
ssl on;
ssl_certificate  /etc/letsencrypt/live/munin.mondomaine.com/fullchain.pem;
ssl_certificate_key  /etc/letsencrypt/live/munin.mondomaine.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/munin.mondomaine.com/fullchain.pem;
ssl_stapling on;
ssl_stapling_verify on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_ecdh_curve secp384r1;
 # uniquement support de TLS v1.2
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
# je prends le plus fort en premier, et ensuite ce qui est compatible
ssl_ciphers "HIGH:!aNULL:!MD5:!ADH:!DH:!RC4:!RSA";
# je force hsts pour les navigateur récents
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; always";
# je force ssl pour les navigateur anciens
  if ($scheme != "https") {
 return 301 https://$host$request_uri;
  }

Personne ?