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.21
modifié par Clément AUBIN
sur 2021/04/18 10:32
sur 2021/04/18 10:32
Commentaire de modification :
Il n'y a aucun commentaire pour cette version
À la version 3.32
modifié par Clément AUBIN
sur 2021/04/18 10:46
sur 2021/04/18 10:46
Commentaire de modification :
Il n'y a aucun commentaire pour cette version
Résumé
-
Propriétés de la Page (1 modifications, 0 ajouts, 0 suppressions)
Détails
- Propriétés de la Page
-
- Contenu
-
... ... @@ -120,8 +120,11 @@ 120 120 121 121 {{code language="nginx"}} 122 122 server { 123 - listen 80; 123 + # On écoute sur le port 80 (le port utilisé par défaut avec HTTP) 124 + listen 80; 125 + # On répond aux requêtes qui pointent vers le domaine monservice.atilla.org 124 124 server_name monservice.atilla.org; 127 + # On redirige chaque requête vers son équivalent HTTPs 125 125 return 301 https://monservice.atilla.org$request_uri; 126 126 } 127 127 {{/code}} ... ... @@ -128,13 +128,72 @@ 128 128 129 129 Le second bloc ##server## permet de définir comment va être géré le traffic HTTPs, c'est ici qu'on a la plupart de la configuration importante. 130 130 134 +{{code language="nginx"}} 135 +server { 136 + # On écoute sur le port 443, qui est celui par défaut pour le HTTPs. 137 + # Les deux autres attributs ssl et http2 indiquent : 138 + # * Qu'on va chiffrer la connexion avec SSL (le principe du HTTPs) 139 + # * Qu'on supporte le protocole HTTP/2 140 + listen 443 ssl http2; 131 131 142 + # Comme avant, on répond aux requêtes qui pointent vers le domaine monservice.atilla.org 143 + server_name monservice.atilla.org; 132 132 145 + # On indique encore une fois qu'on va utiliser le SSL, et on fournit les fichiers qui 146 + # sont nécessaires pour authentifier le serveur et chiffrer la connexion. 147 + ssl on; 148 + ssl_certificate_key /etc/letsencrypt/live/monservice.atilla.org/privkey.pem; 149 + ssl_trusted_certificate /etc/letsencrypt/live/monservice.atilla.org/chain.pem; 150 + ssl_certificate /etc/letsencrypt/live/monservice.atilla.org/fullchain.pem; 133 133 152 + # On configure l'emplacement des logs 153 + access_log /var/log/nginx/monservice.atilla.org/access.log; 154 + error_log /var/log/nginx/monservice.atilla.org/error.log; 155 + 156 + # C'est ici que la "magie" opère :) 157 + # La directive proxy_pass nous permet de rediriger tout le traffic vers la machine virtuelle qui correspond 158 + # Les directives proxy_set_header permettent d'ajouter des en-têtes spécifiques à destination de la machine virtuelle, 159 + # par exemple pour que celle-ci comprenne qu'elle se trouve derrière un frontal web. 160 + location / { 161 + proxy_set_header Host $host; 162 + proxy_set_header X-Forwarded-For $remote_addr; 163 + proxy_pass http://monservice-prod.prod.infra.atilla.org/; 164 + } 165 +} 166 +{{/code}} 167 + 134 134 ===Création du dossier de logs=== 135 135 170 +Comme vu dans la configuration précédente, on va stocker les logs Nginx dans ##/var/log/nginx/monservice.atilla.org##. Par défaut, ce dossier n'existe pas et il faut le créer (sinon, Nginx ne démarrera pas). 171 + 172 +{{code language="shell"}} 173 +mkdir /var/log/nginx/monservice.atilla.org 174 +{{/code}} 175 + 136 136 ===Activation de la configuration Nginx=== 137 137 178 +Finalement, il faut s'assurer qu'Nginx prendra en compte notre fichier de configuration. Si vous regardez dans ##/etc/nginx##, vous verrez deux dossiers : 179 +* ##sites-available##: celui dans lequel la configuration a été créée 180 +* ##sites-enabled##: celui dans lequel la configuration doit être référencée pour être active 181 + 182 +Pour activer la configuration en question, rien de plus simple, on fait juste un lien symbolique dans ##sites-enabled## vers le fichier qui convient : 183 + 184 +{{code language="shell"}} 185 +ln -sf /etc/nginx/sites-available/monservice.atilla.org /etc/nginx/sites-enabled/atilla.org/ 186 +{{/code}} 187 + 188 +Avant de terminer cette manip, on vérifie que tout est bon au niveau de la configuration, et que Nginx ne va pas planter au redémarrage : 189 + 190 +{{code language="shell"}} 191 +nginx -t 192 +{{/code}} 193 + 194 +Et finalement, on redémarre ! 195 + 196 +{{code language="shell"}} 197 +systemctl restart nginx 198 +{{/code}} 199 + 138 138 ==Méthode plus ou moins automatique== 139 139 140 140 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.