Renouvellement du certificat SSL

Bonjour tout le monde,

Je viens vous voir car je suis confronté à un petit problème de renouvellement de certificat Letsencrypt.

D’habitude, la suite de commandes me renouvèle sans problème mon certificat SSL :

sudo systemctl stop nginx
sudo certbot renew
sudo systemctl reload nginx

Mais j’obtiens cette fois-ci une erreur (en plus j’ai un peu laissé trainé, donc le certificat a expiré…) :

sudo certbot renew --dry-run
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/peertube.designersethiques.org.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator standalone, Installer nginx
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for peertube.designersethiques.org
Cleaning up challenges
Attempting to renew cert (peertube.designersethiques.org) from /etc/letsencrypt/renewal/peertube.designersethiques.org.conf produced an unexpected error: Problem binding to port 80: Could not bind to IPv4 or IPv6.. Skipping.
All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/peertube.designersethiques.org/fullchain.pem (failure)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)

All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/peertube.designersethiques.org/fullchain.pem (failure)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Running post-hook command: systemctl start nginx
Hook command "systemctl start nginx" returned error code 1
Error output from systemctl:
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.

1 renew failure(s), 0 parse failure(s)

IMPORTANT NOTES:
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.

J’ai donc l’erreur suivante qui apparait : Attempting to renew cert (peertube.designersethiques.org) from /etc/letsencrypt/renewal/peertube.designersethiques.org.conf produced an unexpected error: Problem binding to port 80: Could not bind to IPv4 or IPv6.. Skipping. Et je ne sais pas vraiment que faire pour la résoudre… :frowning:

Auriez-vous une idée du problème ?
Merci d’avance pour votre aide !
Karl

N’y a-t-il pas un autre service qui écoute sur le port 80 qui aurait pris la place de nginx ?
Y-a-t-il d’autres services que peertube sur la machine ?
D’autres sites nginx ?
Que donne sudo systemctl status nginx ?

En allant sur peertube.designersethiques.org (vu dans les logs), j’ai la page par défaut d’apache qui s’affiche. Ça semble correspondre à ma première intuition : vous avez dû installer apache récemment, et n’avez pas redémarré nginx depuis. Donc nginx gardait les ports 80 et 443, mais en le rechargeant apache prend le relais.
Il faudrait donc voir à quoi sert ce apache, s’il peut être désactivé. Ou s’il faut le restreindre à écouter sur d’autres ports (/etc/apaches2/ports.conf je crois), ou sur d’autres IPs (dans les virtualhosts)

Merci pour ton retour et ton aide :slight_smile:

Ah… c’est peut-être dû à une mise à jour que j’ai faite…
Mais il n’y a aucun autre service / site sur ce VPS à part Peertube. Donc si ce dernier n’utilise pas Apache, pas de raison de le garder effectivement.

La commande retourne :

sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2021-02-16 15:37:32 UTC; 58min ago
     Docs: man:nginx(8)
  Process: 1621 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
  Process: 1612 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)

Feb 16 15:37:30 vps-db195c2f nginx[1621]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Feb 16 15:37:30 vps-db195c2f nginx[1621]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Feb 16 15:37:31 vps-db195c2f nginx[1621]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Feb 16 15:37:31 vps-db195c2f nginx[1621]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Feb 16 15:37:31 vps-db195c2f nginx[1621]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Feb 16 15:37:31 vps-db195c2f nginx[1621]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Feb 16 15:37:32 vps-db195c2f nginx[1621]: nginx: [emerg] still could not bind()
Feb 16 15:37:32 vps-db195c2f systemd[1]: nginx.service: Control process exited, code=exited status=1
Feb 16 15:37:32 vps-db195c2f systemd[1]: nginx.service: Failed with result 'exit-code'.
Feb 16 15:37:32 vps-db195c2f systemd[1]: Failed to start A high performance web server and a reverse proxy server. 

Est-ce qu’un sudo apt-get remove apache est suffisant ou il faut faire autre chose pour le désactiver ?

Avant de désinstaller apache, vous pouvez juste le désactiver :
sudo systemctl stop apache2 && sudo systemctl disable apache2.
Puis vérifier si ça résoud le problème.
Pour le désinstaller, il faudrait voir pourquoi il a été installé. S’il y a une dépendance qui l’a ramené. Au pire, ce n’est pas très grave de le laisser installé et désactivé.

Et bien merci beaucoup pour l’aide! J’ai appliqué la commande, redémarré le serveur, et le renouvellement du certificat a marché. Tout est rentré dans l’ordre :slight_smile:
Merci beaucoup !

1 « J'aime »