Modifications pour le document Mettre en place un sous-domaine

Modifié par Clément AUBIN le 2021/04/18 11:55

Depuis la version 3.8
modifié par Clément AUBIN
sur 2021/04/18 09:18
Commentaire de modification : Il n'y a aucun commentaire pour cette version
À la version 3.14
modifié par Clément AUBIN
sur 2021/04/18 09:39
Commentaire de modification : Il n'y a aucun commentaire pour cette version

Résumé

Détails

Propriétés de la Page
Contenu
... ... @@ -56,8 +56,78 @@
56 56  La procédure pour demander un nouvau certificat SSL consiste à **éteindre** le serveur frontal, laisser ##certbot## vérifier que le serveur répond bien au domaine qu’on souhaite certifier, puis rallumer le serveur frontal. Cela occasionne généralement une interruption de service pour la grande majorité des domaines d’atilla.org et d’eistiens.net. Pour éviter que la coupure de service ne dure trop longtemps, assurez vous que Nginx est bien redémarré après la procédure.
57 57  {{/warning}}
58 58  
59 +Pour la demande du nouveau certificat, utilisez la commande suivante. Lorsque certbot demande quelle méthode de vérification utiliser pour générer le certificat, choisissez //Spin-up a temporary webserver//.
60 +
59 59  {{code language="none"}}
60 -systemctl stop nginx
62 +systemctl stop nginx && certbot certonly -d monservice.atilla.org && systemctl start nginx
61 61  {{/code}}
62 62  
65 +Si certbot termine avec un message du type //Congratulations! Your certificate and chain … bla bla bla//, ça veut dire que c’est bon, le certificat a bien été enregistré. Il doit maintenant être stocké dans ##/etc/letsencrypt/live/monservice.atilla.org/##.
66 +
67 +Si vous n’avez pas ce genre de message, avant de démarrer tout diagnostique, assurez-vous de bien redémarrer le serveur Nginx, pour éviter toute interruption de service trop longue :
68 +
69 +{{code language="none"}}
70 +systemctl start nginx
71 +## Pour vérifier que tout va bien
72 +systemctl status nginx
73 +{{/code}}
74 +
63 63  =Mise en place de la configuration Nginx=
76 +
77 +Finalement, on va devoir mettre en place la configuration qui va tout lier ensemble, c’est elle qui va indiquer que, lorsqu’un utilisateur se connecte au service, on utilisera le certificat SSL qui a été généré plus haut, et on enverra les connexions à la machine voulue.
78 +
79 +==Méthode manuelle==
80 +
81 +===Création de la configuration===
82 +
83 +On va créer la configuration d’Nginx dans le dossier ##/etc/nginx/sites-available##. Par convention, le nom du fichier de configuration va correspondre au nom du domaine sur lequel on expose le service. Dans notre cas, il s’agira de ##monservice.atilla.org##.
84 +
85 +La plupart du temps, si on ne veut pas s’embêter dans la mise en place de la configuration, le plus simple consiste à copier / coller une configuration d’un service existant, en espérant que celle-ci soit suffisamment standard pour que ça marche.
86 +
87 +Voici à peu près ce à quoi doit ressembler la configuration. Attention : il est possible que cela change au fil du temps et que le contenu de ce tuto n’ait pas été mis à jour :).
88 +
89 +{{code language="none"}}
90 +server {
91 + listen 80;
92 + server_name monservice.atilla.org;
93 + return 301 https://monservice.atilla.org$request_uri;
94 +}
95 +
96 +server {
97 + listen 443 ssl http2;
98 +
99 + server_name monservice.atilla.org;
100 +
101 + ssl on;
102 + ssl_certificate_key /etc/letsencrypt/live/monservice.atilla.org/privkey.pem;
103 + ssl_trusted_certificate /etc/letsencrypt/live/monservice.atilla.org/chain.pem;
104 + ssl_certificate /etc/letsencrypt/live/monservice.atilla.org/fullchain.pem;
105 +
106 + access_log /var/log/nginx/monservice.atilla.org/access.log;
107 + error_log /var/log/nginx/monservice.atilla.org/error.log;
108 +
109 + location / {
110 + proxy_set_header Host $host;
111 + proxy_set_header X-Forwarded-For $remote_addr;
112 + proxy_pass http://monservice-prod.prod.infra.atilla.org/;
113 + }
114 +}
115 +{{/code}}
116 +
117 +===Création du dossier de logs===
118 +
119 +
120 +
121 +==Méthode plus ou moins automatique==
122 +
123 +On a un [[super projet sur GitLab>>https://gitlab.atilla.org/adminsys/nginx-config-generator]] qui permet d’effectuer les actions de la méthode manuelle de manière automatique. Ce projet est présent sur ##/root/nginx-config-generator## sur Bill, voici comment l’utiliser rapidement. En cas de besoin, référez vous au ##README.md## du projet.
124 +
125 +{{code language="shell"}}
126 +cd /root/nginx-config-generator
127 +source venv/bin/activate
128 +python nginx-config.py monservice.atilla.org monservice-prod.prod.infra.atilla.org
129 +## On vérifie que tout va bien avec la config qui a été générée
130 +nginx -t
131 +## On redémarre
132 +systemctl restart nginx
133 +{{/code}}