Erreur serveur après tentative d'install Letsencrypt

Bonjour,

Je crois que j’ai bien cassé mon installation… :frowning2:

J’ai voulu installer Let’s Encrypt, et j’ai essayé la méthode automatique, puis manuelle, trouvées ici, j’ai défait, refait… et je ne m’en sors pas.

Lorsque je vais sur mondomaine.tld, j’ai une “500 Internal Server Error”.
Dans le fichier de log (tail /var/log/nginx/mondomaine.tld-error.log) j’ai :

[error] 4918#0: *44 lua entry thread aborted: runtime error: /usr/share/lua/5.1/json/decode/state.lua:151: Value set when one already in slot

Si je modifie le fichier /etc/nginx/conf.d/mondomaine.tld.conf, je peux commenter les lignes (partie listen 80 et partie listen 443 ssl)

# access_by_lua_file /usr/share/ssowat/access.lua;

et que je relance nginx, j’accède alors à une page sur mondomaine.tld, mais c’est la page par défaut «Welcome to nginx on Debian!». Je n’ai plus accès à Yunohost.

Je ne comprends pas ce qui est cassé ni comment le réparer.
Est-ce que vous auriez une piste ?

Bon, j’ai trouvé !
C’est le fichier /etc/ssowat/conf.json.persistent qui avait un problème avec la partie

"unprotected_urls" : [
    "mondomaine.tld/.well-known/acme-challenge",
    "www.mondomaine.tld/.well-known/acme-challenge",
    "sousdomaine.mondomaine.tld/.well-kmown/acme-challenge",
    "mondeuxiemedomaine.tld/.well-known/acme-challenge"
]

Il me manquait les virgules en fin de ligne. J’accède de nouveau à Yunohost et à plusieurs applications. Ouf.
Bon, il faut que je continue à déployer mes certificats, maintenant… et que je revoie la conf des applications qui me manquent.

1 Like

Hello

Je reviens sur ton erreur, qui m’a permis de trouver une erreur par chez moi, mais qui ne résout rien…

Si quelqu’un a une idée :
j’ai effectué la procédure ci après :

Cette partie est effectuée sans problème.

J’ai donc créé ce fichier.

nginx -t me dit que tout va bien, les virgules sont bien en place, les crochets englobes les deux commandes, bref, nickel.

Cependant, j’ai l’erreur 500 (500 Internal Server Error).

Vous devinez bien que cela ne marche pas.

Mon service mail est toujours opérationnel, mais je ne comprend pas pourquoi mon serveur nginx me plante ainsi.

Du coup, j’ai procédé à la suppression des fichiers letsencrypt, et cela ne change rien.
Je suis tenté de refaire la procédure, mais si mon erreur 500 de part pas, je suis bien dans le baba.

Quelqu’un a-t-il une idée ? Une façon de faire à laquelle je n’aurais pas pensé ? Mon “https” serait-il responsable ? (j’ai lu que ACME, le supporte mal)

Merci à vous. :slight_smile:

En attendant, voici les logs de mon serveur fugazzi.me en utilisant la commande
/var/log/nginx/fugazzi.me-error.log

et ceux d’un sous domaine :

Je tenterai ceci demain. Là, je n’ai plus le temps.

Edit : Hm, okay, j’avais pas relu le début du thread, j’imagine que tu as déjà regardé le fichier de conf SSOwat du coup… Pourtant les erreurs dans le fichier de log que tu montre semble bien pointer vers un problème d’SSOwat.

Salut,

c’est probablement un problème dans le fichier de config de SSOwat (/etc/ssowat/conf.json.persistent).
Si il y a une erreur de syntaxe dans ton fichier SSOwat, à chaque tentative d’accès à une page web, le serveur n’arrive pas à interprété la conf et ne sait donc pas dire si tu es censé pouvoir accéder à la page ou non … et du coup par défaut ne t’autorise pas à y accéder.

Il faut qu’il y ai le bloc unprotected_urls :

{
    unprotected_urls : [
        "votreDomaine.tld/.well-known/acme-challenge"
    ]
}

mais si il y avait déjà d’autres trucs dans ton fichier, il faut faire attention à les mettres de la manière suivante :

{
   some_other_stuff : [ "foo", "bar" ],
   unprotected_urls : [
        "votreDomaine.tld/.well-known/acme-challenge"
    ]
}

Je confirme qu’en suivant ces instructions (Merci à Bram sur IRC) l’app LetsEncrypt s’installe sans aucun soucis sur la brique :
https://1-m.cc/2016/how-to-get-letsencrypt-to-work-with-current-yunohost-version

en gros il faut editer /etc/ssowat/conf.json.persistent :

“unprotected_urls”: [

    "yourdomain.com/.well-known/acme-challenge/",
    "yourdomain2.com/.well-known/acme-challenge"

]

ensuite relancer l’installation de l’app et ça devrais se passer sans problème.
yunohost app install https://github.com/YunoHost-Apps/letsencrypt_ynh --verbose

protip : vaut mieux faire tout ceci avant d’installer d’autre app/sous domaines/domaines histoire que les certs soit actif et
bien installé avant de personaliser votre install Yunohost.

Ah ! Je remarque qu’il faut une virgule aussi entre le
some_other_things et le unprotected_urls , je vais regarder cela une fois chez moi.
C’est donc une seconde piste à explorer.
:slight_smile:

Bon, la piste de la virgule en plus ou en moins ne change rien pour le moment dans mon document /etc/ssowat/conf.json.persistent.

Je regarde la première piste.

Bon. Pas terrible tout cela. Mais on avance.

[quote] Je tenterai ceci demain. Là, je n’ai plus le temps.

Ok Maniack_Crudelis, j’ai re-publié mon premier post.

Comment m’en suis-je sorti ? J’ai :

  • effacé à la main les liens (crt.pem et key-pem) présents dans /etc/yunohost/certs/monDomaine.fr/

replacé dans ce même répertoire mes anciens certificats (pré-Let’s
Encrypt). Dans le but de pouvoir ré-acceder à l’interface admin du
serveur)

  • relancé nginx (yunohost service start nginx)
  • renommé le répertoire créé par Let’s Encrypt lors de sa désinstallation (/root/.letsencrypt-backupDuringUninstall/ )
  • ré-installé Let’s Encrypt via l’interface d’admin

Je suis tranquille jusqu’au 3 décembre [/quote]

J’ai tenté de refaire mes certificats en partant de la base puisque cela avait marché en début d’installation : Installation Certificat CaCert non reconnu?

Mais, cela n’enlève l’erreur 500 que pour le domaine principal, bien qu’il reste dans les choux à cause des certificats.
Nginx pédale encore pour mes autres sous-domaines.

Maintenant là, je patauge beaucoup.

J’avoue que j’apprécierai bien un peu d’aide, si juste en lisant vous avez la solution, pour résoudre mon mystère des certificats.
Je vous pose là mes logs de Nginx.
> systemctl status nginx.service -l
> ● nginx.service - A high performance web server and a reverse proxy server
> Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
> Active: active (running) (Result: exit-code) since jeu. 2016-10-13 11:39:11 CEST; 1h 14min ago
> Process: 7698 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
> Process: 11970 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=1/FAILURE)
> Process: 8241 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
> Process: 8239 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
> Main PID: 8244 (nginx)
> CGroup: /system.slice/nginx.service
> ├─8244 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
> ├─8245 nginx: worker process
> ├─8246 nginx: worker process
> ├─8247 nginx: worker process
> └─8248 nginx: worker process

> oct. 13 12:34:20 ns3010857.ip-5-39-79.eu systemd[1]: nginx.service: control process exited, code=exited status=1
> oct. 13 12:34:20 ns3010857.ip-5-39-79.eu systemd[1]: Reload failed for A high performance web server and a reverse proxy server.
> oct. 13 12:42:30 ns3010857.ip-5-39-79.eu systemd[1]: Reloading A high performance web server and a reverse proxy server.
> oct. 13 12:42:30 ns3010857.ip-5-39-79.eu nginx[11411]: nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/yunohost/certs/calendar.fugazzi.me/key.pem") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)
> oct. 13 12:42:30 ns3010857.ip-5-39-79.eu systemd[1]: nginx.service: control process exited, code=exited status=1
> oct. 13 12:42:30 ns3010857.ip-5-39-79.eu systemd[1]: Reload failed for A high performance web server and a reverse proxy server.
> oct. 13 12:53:00 ns3010857.ip-5-39-79.eu systemd[1]: Reloading A high performance web server and a reverse proxy server.
> oct. 13 12:53:00 ns3010857.ip-5-39-79.eu nginx[11970]: nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/yunohost/certs/calendar.fugazzi.me/key.pem") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)
> oct. 13 12:53:00 ns3010857.ip-5-39-79.eu systemd[1]: nginx.service: control process exited, code=exited status=1
> oct. 13 12:53:00 ns3010857.ip-5-39-79.eu systemd[1]: Reload failed for A high performance web server and a reverse proxy server.

Voyez, je comprend bien le problème des clefs qui ne correspondent pas, mais je ne vois pas comment elles ne peuvent pas correspondre, puisque cela marchait avant. A moins que je n’ai oublié une clef fantôme ?

Parce que quand même, tout désinstaller pour une histoire de clef, cela me chiffonne. :frowning:

Merci d’avance. :slight_smile:

Bon, je crois que j’ai une idée.
Dans mes sous-domaines, le fichier .conf de nginx, il y a aussi des certificats en redondance.

Va falloir copier probablement mes certificats pour qu’ils soient tous identiques, ou modifier les fichiers “.conf” de mes sous-domaines.

Qu’en pensez-vous, sachant que le certificat n’est pas un wildcard mais juste créé pour mon domaine principal ? Est-ce que cela marchera quand même si je copie ?

Bon, je n’y arrive pas.

je vais donc tout désinstaller et tout recommencer. Peut-être sans ssl.