admin:services:letsencrypt
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
admin:services:letsencrypt [2016/08/25 13:56] – [Installation] Relecture david | admin:services:letsencrypt [2020/04/26 00:28] – [Installation] Désactivation du timer et du service systemd david | ||
---|---|---|---|
Ligne 18: | Ligne 18: | ||
Après avoir pris en compte tout ceci, il fut décidé de s'en tenir //pour le moment// au client officiel, avec pour but de migrer vers une alternative plus adaptée une fois que la poussière sera retombée et qu'une meilleure alternative stable et viable se présentera. | Après avoir pris en compte tout ceci, il fut décidé de s'en tenir //pour le moment// au client officiel, avec pour but de migrer vers une alternative plus adaptée une fois que la poussière sera retombée et qu'une meilleure alternative stable et viable se présentera. | ||
+ | |||
+ | ==== Procédure d' | ||
+ | |||
+ | Le certbot a évolué depuis le début et il n'est plus nécessaire d' | ||
+ | |||
+ | On installera le certbot depuis les backports jessie ou les dépots stretch. | ||
+ | |||
+ | Il existe deux méthodes pour réaliser le challenge en HTTP : | ||
+ | | ||
+ | | ||
+ | |||
+ | Nous choisirons ici le deuxième méthode le plus souvent. | ||
+ | |||
+ | Pour un nginx la configuration à placer dans le vhost est la suivante : | ||
+ | |||
+ | location ^~ / | ||
+ | |||
+ | Il faut que le dossier existe (un coup de mkdir devrait suffire). Il doit appartenir à l' | ||
+ | |||
+ | Enfin, il faut mettre en place le cron de renouvellement des certificats s'il n'a pas été ajouté lors de l' | ||
+ | |||
+ | 0 */12 * * * root test -x / | ||
+ | |||
+ | On notera le renew hook qui permet de relancer les services si un nouveau certificat doit être pris en compte. On pourra faire un script pour le hook s'il n'est pas une commande courte et simple. | ||
+ | |||
+ | Tout est prêt pour générer le certificat :) | ||
+ | |||
+ | Il suffit de placer une commande du type : | ||
+ | |||
+ | certbot certonly --cert-name mon.certificat.tld --rsa-key-size 4096 \ | ||
+ | --email admin@federez.net --webroot -w / | ||
+ | |||
+ | |||
+ | La première fois on vous demandera de dire oui aux TOSS. Pour les test il faut apposer --dry-run. Il est obligatoire de faire des tests jusqu' | ||
+ | |||
+ | Si on veut étendre un certificat existant on peut placer un --extend et il faut mettre le même nom. | ||
+ | |||
+ | Pour avoir une idée de quels certificats sont existants un '' | ||
+ | |||
==== Vue d' | ==== Vue d' | ||
Ligne 33: | Ligne 72: | ||
<WRAP center round alert> | <WRAP center round alert> | ||
- | Pour le moment, **il faut absolument éviter de retirer un sous-domaine de la liste des domaines** après que le certificat ait été déjà émis. Lors du renouvellement une nouvelle " | + | Précédemment, **il fallait |
- | Ceci est du au bug https:// | + | Ceci était |
- | Il est cependant possible d' | + | Il était |
- | Pour retirer | + | Désormais, il suffit que l' |
</ | </ | ||
Ligne 56: | Ligne 95: | ||
< | < | ||
- | apt-get install | + | apt-get install certbot |
</ | </ | ||
Ligne 63: | Ligne 102: | ||
< | < | ||
sudo dpkg-divert --add --rename --divert / | sudo dpkg-divert --add --rename --divert / | ||
+ | </ | ||
+ | |||
+ | On désactive aussi le service et le timer systemd qui viennent en doublon du fichier de cron : | ||
+ | < | ||
+ | systemctl stop certbot.service certbot.timer | ||
+ | systemctl disable certbot.service certbot.timer | ||
+ | systemctl mask certbot.service certbot.timer | ||
</ | </ | ||
Ligne 109: | Ligne 155: | ||
- | Pour éviter de définir pour chaque site un bloc de configuration pour HTTP afin de rediriger les navigateurs vers la version HTTPS de chaque site, on peut créer un fichier '''/ | + | Pour éviter de définir pour chaque site un bloc de configuration pour HTTP afin de rediriger les navigateurs vers la version HTTPS de chaque site, on peut créer un fichier '''/ |
- | <file apache / | + | <file apache / |
< | < | ||
ServerAdmin webmaster@federez.net | ServerAdmin webmaster@federez.net | ||
Ligne 117: | Ligne 163: | ||
RewriteEngine On | RewriteEngine On | ||
RewriteCond %{HTTPS} !=on | RewriteCond %{HTTPS} !=on | ||
+ | | ||
# Pas de redirection pour les requêtes de Let's Encrypt | # Pas de redirection pour les requêtes de Let's Encrypt | ||
RewriteCond %{REQUEST_URI} !^/ | RewriteCond %{REQUEST_URI} !^/ | ||
+ | | ||
# Redirection vers un domaine de federez.net | # Redirection vers un domaine de federez.net | ||
RewriteCond %{HTTP_HOST} ^([^.]+\.)? | RewriteCond %{HTTP_HOST} ^([^.]+\.)? | ||
Ligne 126: | Ligne 174: | ||
ProxyPass / | ProxyPass / | ||
</ | </ | ||
+ | | ||
< | < | ||
Alias / | Alias / | ||
Ligne 203: | Ligne 252: | ||
# Il est cependant possible d' | # Il est cependant possible d' | ||
- | / | + | / |
-d quigon.federez.net \ | -d quigon.federez.net \ | ||
-d ldap-ro.federez.net \ | -d ldap-ro.federez.net \ | ||
-d wiki-backup.federez.net \ | -d wiki-backup.federez.net \ | ||
-d git.federez.net \ | -d git.federez.net \ | ||
- | -t | + | --text |
NEWHASH_CERT=$(sha1sum $FULLCHAINPATH | cut -d" " -f 1) | NEWHASH_CERT=$(sha1sum $FULLCHAINPATH | cut -d" " -f 1) | ||
Ligne 335: | Ligne 384: | ||
TLSProtocol | TLSProtocol | ||
TLSRequired | TLSRequired | ||
+ | </ | ||
+ | |||
+ | === Prosody === | ||
+ | |||
+ | Dans ''/ | ||
+ | |||
+ | < | ||
+ | ssl = { | ||
+ | key = "/ | ||
+ | certificate = "/ | ||
+ | } | ||
</ | </ | ||
admin/services/letsencrypt.txt · Dernière modification : 2020/06/17 18:23 de zertrin