#format wiki #language fr #acl +All:read {{{#!wiki tip '''Autre chose que https ?''' Si vous cherchez à migrer un service n'utilisant pas `https`, peut-être voulez-vous consulter la page [[../CertificatsTLS|CertificatsTLS]] }}} Le Crans utilise deux serveurs [[CransTechnique/LesServeurs/Virtuels/ServeurBakdaur | bakdaur]] (principal) et [[CransTechnique/LesServeurs/Virtuels/ServeurFrontdaur | frontdaur]] (backup) qui permettent de centraliser le traffic entrant vers les services Web. Les deux serveurs se partagent l'adresse IP liée à {{{proxy.crans.org}}}. En fonctionnement normal, {{{bakdaur}}} possède l'ip et reste en fonction. En cas de souci, {{{frontdaur}}} prend la main grâce à [[CransTechnique/AdminSystème/KeepAlived|Keepalived]]. Ce deuxième serveur est aussi utile pour tester le déploiement d'une nouvelle configuration nginx, avant de l'appliquer pour tout le monde. Avantages : * Un seul serveur où gérer les renouvellements de certificats Let's Encrypt * Moins de surface d'exposition pour les nombreuses machines qui fournissent des sites web * Possibilité de se concentrer sur les réglages optimaux à un seul endroit * Permet de compresser le flux HTTP/1.1 vers du HTTP/2 pour les clients le supportant * Permet d'assurer une sécurité homogène sur tous les sites Crans Inconvénients : * Ne résout les soucis de SSL que pour le http * Configuration moins « standard » que ce qu'on peut trouver comme tuto pour la mise en place de tout service https habituel ''Legacy'' : avant on générait deux certificats (hostnames-a-m.crans.org et hostnames-n-z.crans.org) avec un challenge Let's Encrypt HTTP-01. Maintenant on a un certificat Wildcard avec un challenge DNS-01 qui permet de simplifier beaucoup la configuration. [[attachment:centralisation_ssl.svg|Un schéma de principe]] résume la situation, avec deux alternatives possibles (fichiers statiques desservis par bakdaur ou le serveur initial). Ticket phabricator: https://phabricator.crans.org/T9 == Let's encrypt == La génération et le renouvellement des certificats se fait avec {{{certbot}}}. Voir le rôle Ansible pour plus de détails, mais en gros il parle à {{{silice.crans.org}}} pour ajouter temporairement une entrée DNS et effectuer un challenge DNS-01. Pour initialiser le certificat la première fois, il faut lancer certbot avec les fichiers de conf dans {{{/etc/letsencrypt/conf.d}}}. === Renouvellement === C'est automatique avec un timer Systemd ! Si ça fail, prometheus relève l'alerte. == Je veux du HTTPS sur mon nouveau site ! == Ci-dessous, la procédure étape par étape : 1. Ajouter la règle de reverse proxy dans [[https://gitlab.crans.org/nounous/ansible/-/blob/master/network.yml#L73 | network.yml]] ; 1. Lancer ce playbook Ansible avec {{{--limit frontdaur.adm.crans.org}}} et vérifier que ça marche ; 1. Lancer ce playbook Ansible sur bakdaur ; 1. [[https://www.youtube.com/watch?v=YnopHCL1Jk8 | Danser sur place]] et profiter. ---- * CatégoriePagePublique * CatégorieCrans