[Résolu] Problème installation des certificats letsencrypt

Bonjour a tous, j’ai réussi l’installation de fab-manager en https, j’ai donc repris l’installation depuis le début pour mettre les certificats en place mais voila j’ai un problème quand je tape la commande:
sudo systemctl start letsencrypt.service

il ne veut pas démarré le service


@sleede
Merci d’avance

Hello,

Peux-tu coller les dernières lignes du log de letsencrypt (dans le dossier log de l’app) lorsque tu lances un start ?

Hey,
voila le screenshot de l’erreur

nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] BIO_new_file(« /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‹ /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem ›,‹ r ›) error:2006D080:BIO routines:BIO_new_file:no such file)

Personne pour m’aider ?

Est-ce que tu peux vérifier que le fichier /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem existe bien, que son contenu est valide, de type :

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

Vérifie ensuite que les droits de lecture/écriture sur le fichier sont corrects (ls -l). Tu peux également lancer cette commande pour vérifier que le certificat soit ok :

openssl x509 -text -noout -in /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem

Enfin, il semblerait que dans certains cas, le problème soit lié aux permissions sur /etc/letsencrypt/live : voir cette question.

Bon courage.

Je n’ai aucun dossier letsencrypt dans /etc

Hello,

Avec Docker, il ne faut pas regarder dans /etc mais à la racine du dossier de l’app (/home/core/fabmanager/letsencrypt/etc/live/myart3factlab.fr/fullchain.pem
/etc/letsencrypt étant le chemin au sein du container docker letsencrypt.

Peux tu vérifier le contenu du fichier /home/core/fabmanager/letsencrypt/config/webroot.ini
et l’existence du dossier webrootauth dans /home/core/fabmanager/letsencrypt/etc

Merci.

Je fais passer l’info si besoin pour des personnes en difficulté, ou souhaitant une assistance ponctuelle mais sans infogérance complète, nous pouvons intervenir directement sur votre VPS (facturation à l’heure possible)

J’essaierai de faire quelques tutos vidéos mais le temps me manque actuellement …

Hey,
Voici l’arborescence du dossier letsencrypt dans la racine de l’app

et le contenue du fichier webroot.ini

Merci

Tout semble correct.

Lorsque tu lances le service letsencrypt pour générer le certificat, l’ensemble des domaines déclarés myart3factlab.fr et www.myart3factlab.fr doivent bien pointer sur l’ip de ton serveur, et surtout Nginx doit être configuré de sorte à répondre sur le port 80 avec comme instruction :

  ## required by letsencrypt to generate the certificat
  location /.well-known/acme-challenge {
    root /etc/letsencrypt/webrootauth;
    default_type "text/plain";
  }
  ##

Sinon letsencrypt ne pourra pas vérifier les domaines et donc générer le certificat SSL (qui n’est donc pas généré pour le moment).

Tu peux C/C ton fichier fabmanager.conf (nginx) si besoin.
hésites pas à nous envoyer l’ensemble des logs de Letsencrypt notamment en utilisant journalctl -xe après lancement du service (avec suffisament d’historique / nb de lignes)

voici le log du service letsencrypt

et le fichier fabmanager.conf
upstream puma {
server fabmanager:3000;
}

server {
listen 443 ssl;
server_name myart3factlab.fr;
root /usr/src/app/public;
ssl on;

with your ssl certificate

#ssl_certificate /etc/nginx/conf.d/ssl/MAIN_DOMAIN.crt;
#ssl_certificate_key /etc/nginx/conf.d/ssl/MAIN_DOMAIN.deprotected.key;

with letsencrypt certificate (free)

ssl_certificate_key /etc/letsencrypt/live/myart3factlab.fr/privkey.pem;
ssl_certificate /etc/letsencrypt/live/myart3factlab.fr/fullchain.pem;
ssl_trusted_certificate /etc/letsencrypt/live/myart3factlab.fr/chain.pem;

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_prefer_server_ciphers on;
ssl_ciphers 'kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256 kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 DES-CBC3-SHA +SHA !aNULL !eNULL !LOW !MD5 !EXP !DSS !PSK !SRP !kECDH !CAMELLIA !R$
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_session_timeout 1d;
ssl_dhparam /etc/nginx/conf.d/ssl/dhparam.pem;
add_header Strict-Transport-Security max-age=15768000;
ssl_stapling on;
ssl_stapling_verify on;

location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}

required by letsencrypt to generate the certificat

location /.well-known/acme-challenge {
root /etc/letsencrypt/webrootauth;
default_type « text/plain »;
}

try_files $uri/index.html $uri @puma;
location @puma {
ssl_session_timeout 1d;
ssl_dhparam /etc/nginx/conf.d/ssl/dhparam.pem;
add_header Strict-Transport-Security max-age=15768000;
ssl_stapling on;
ssl_stapling_verify on;

location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}

required by letsencrypt to generate the certificat

location /.well-known/acme-challenge {
root /etc/letsencrypt/webrootauth;
default_type « text/plain »;
}

try_files $uri/index.html $uri @puma;
location @puma {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://puma;
}

client_max_body_size 4G;
keepalive_timeout 10;

error_page 500 502 504 /500.html;
error_page 503 @503;

Return a 503 error if the maintenance page exists.

if (-f /usr/src/app/public/maintenance.html) {
return 503;
}

location @503 {
# Serve static assets if found.
if (-f $request_filename) {
break;
}

proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://puma;

}

client_max_body_size 4G;
keepalive_timeout 10;

error_page 500 502 504 /500.html;
error_page 503 @503;

Return a 503 error if the maintenance page exists.

if (-f /usr/src/app/public/maintenance.html) {
return 503;
}

location @503 {
# Serve static assets if found.
if (-f $request_filename) {
break;
}

# Set root to the shared directory.
root /usr/src/app/public/;
rewrite ^(.*)$ /maintenance.html break;

}

no spam bot

if ($http_referer ~* (guardlink.org|free-share-buttons|social-buttons|buy-cheap-online.info|social-buttons.com|free-share-buttons.com|darodar.com|blackhatworth.com|hulfingtonpost.com|pri$

}

server {
listen 80;
server_name myart3factlab.fr, www.myart3factlab.fr;
rewrite ^ https://myart3factlab.fr$request_uri? permanent;
}

merci @sleede

Hello,

Comme évoqué dans un précédent message, il faut que tu modifie ta conf nginx pour passer sur le port 80 (désactiver tous les éléments SSL), puis relancer Nginx.
Lancer alors le service Letsencrypt pour valider et générer le premier certificat.
Une fois le certificat présent (à vérifier dans le dossier live), tu peux remettre les éléments SSL dans la conf Nginx, puis relancer tout.

Voici la conf nginx temporairement sur le port 80 :

upstream puma {
  server fabmanager:3000;
}

server {
  #listen 443 ssl;
  #server_name myart3factlab.fr;
  listen 80;
  server_name myart3factlab.fr, www.myart3factlab.fr;
  root /usr/src/app/public;
  #ssl on;
  #ssl_certificate_key /etc/letsencrypt/live/MAIN_DOMAIN/privkey.pem;
  #ssl_certificate /etc/letsencrypt/live/MAIN_DOMAIN/fullchain.pem;
  #ssl_trusted_certificate /etc/letsencrypt/live/MAIN_DOMAIN/chain.pem;
  #ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
  #ssl_prefer_server_ciphers on;
  #ssl_ciphers 'kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256 kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 DES-CBC3-SHA +SHA !aNULL !eNULL !LOW !MD5 !EXP !DSS !PSK !SRP !kECDH !CAMELLIA !RC4 !SEED';
  #ssl_session_cache shared:SSL:50m;
  #ssl_session_tickets off;
  #ssl_session_timeout 1d;
  #ssl_dhparam /etc/nginx/conf.d/ssl/dhparam.pem;
  #add_header Strict-Transport-Security max-age=15768000;
  #ssl_stapling on;
  #ssl_stapling_verify on;


  location ^~ /assets/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
  }

  ## required by letsencrypt to generate the certificat
  location /.well-known/acme-challenge {
    root /etc/letsencrypt/webrootauth;
    default_type "text/plain";
  }
  ##

  try_files $uri/index.html $uri @puma;
  location @puma {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://puma;
  }

  client_max_body_size 4G;
  keepalive_timeout 10;

  error_page 500 502 504 /500.html;
  error_page 503 @503;

  # Return a 503 error if the maintenance page exists.
  if (-f /usr/src/app/public/maintenance.html) {
    return 503;
  }

  location @503 {
    # Serve static assets if found.
    if (-f $request_filename) {
      break;
    }

    # Set root to the shared directory.
    root /usr/src/app/public/;
    rewrite ^(.*)$ /maintenance.html break;
  }

  # no spam bot
  if ($http_referer ~* (guardlink.org|free-share-buttons|social-buttons|buy-cheap-online.info|social-buttons.com|free-share-buttons.com|darodar.com|blackhatworth.com|hulfingtonpost.com|priceg.com|semalt.com|imaspammer.com|iedit.ilovevitaly.com|7makemoneyonline.com|iedit.ilovevitaly.com|7makemoneyonline.com|gamersyde.com|iloveitaly.com|econom.co|semalt.com|forum.topic44637676.darodar.com|darodar.com|iskalko.ru|ilovevitaly.ru|ilovevitaly.com|ilovevitaly.co|o-o-8-o-o.ru|o-o-6-o-o.ru|buttons-for-website.com|semalt.semalt.com|cenoval.ru|priceg.com|darodar.com|cenokos.ru|seoexperimenty.ru|gobongo.info|vodkoved.ru|adcash.com|websocial.me|cityadspix.com|luxup.ru|ykecwqlixx.ru|superiends.org|slftsdybbg.ru|edakgfvwql.ru|socialseet.ru|screentoolkit.com|econom.co|semalt.com|savetubevideo.com|shopping.ilovevitaly.com|iedit.ilovevitaly.com|forum.topic52548358.darodar.com|forum.topic53813291.darodar.com|share-buttons.com|event-tracking.com|success-seo.com|free-floating-buttons.com|get-free-social-traffic.com|chinese-amezon.com|get-free-traffic-now.com|free-social-buttons.com|videos-for-your-business.com)) { return 403; }

}


#server {
#  listen 80;
#  server_name myart3factlab.fr, www.myart3factlab.fr;
#  rewrite ^ https://myart3factlab.fr$request_uri? permanent;
#}

Génial merci beaucoup @sleede de ton aide.