J’essaie d’installer discourse sur un serveur OVH bare metal exécutant Fedora Server 38 et l’installation s’est bien déroulée, mais je ne peux pas y accéder en utilisant le nom d’hôte que j’ai spécifié dans app.yml forums.dogsrv.dev.
Le pare-feu edge d’OVH est désactivé, firewalld est désactivé, iptables est désactivé, DNS se résout correctement, je suis perdu sur ce qu’il faut vérifier d’autre à ce stade, toute idée serait appréciée.
Vous pouvez consulter /var/discourse/shared/standalone/log/var-log/nginx/production.log. Je suppose que vous avez été limité en débit par Let’s Encrypt parce que le DNS ou autre chose a empêché l’émission d’un certificat.
Si c’est le cas, vous pouvez attendre une semaine ou utiliser un sous-domaine différent (comme forum au lieu de forums).
Avez-vous exécuté discourse-setup ?
Étrangement, je n’ai pas de fichier production.log dans ce dossier, mais j’ai un fichier error.log qui ne contient que cette erreur répétée :
2023/06/02 07:27:34 [emerg] 289163#289163: cannot load certificate "/shared/ssl/forums.dogsrv.dev.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
Et en effet, lorsque j’ai regardé ce fichier de certificat, il était vide.
J’ai exécuté discourse-setup initialement, mais il échouait toujours avec :
Hostname for your Discourse? [forums.dogsrv.dev]:
Checking your domain name . . .
WARNING: Port 443 of computer does not appear to be accessible using hostname: forums.dogsrv.dev.
WARNING: Connection to http://forums.dogsrv.dev (port 80) also fails.
Ce que j’ai supposé être dû au fait que le TLD .dev est sur la liste de préchargement HSTS de Google par défaut, j’ai donc simplement configuré le fichier app.yml manuellement et exécuté ./launcher rebuild app, ce qui a semblé fonctionner correctement.
J’ai essayé de changer le sous-domaine pour forum à la place et j’ai reconstruit l’application, mais j’ai toujours le même problème et la même erreur qu’auparavant, sauf avec forum au lieu de forums.
Avez-vous ouvert des ports sur votre pare-feu en dehors de Docker ?
Oui, firewalld est complètement désactivé ainsi qu’iptables. Si j’installe et configure manuellement Apache ou Nginx sur le serveur lui-même, je peux voir que le trafic est autorisé sur les ports 80 et 443, mais à cause de HSTS, j’ai besoin d’une réécriture HTTPS activée sur toutes les requêtes HTTP et d’un certificat SSL fonctionnel, ce qui est le problème actuel.
Peut-être devriez-vous alors ouvrir les ports 80 et 443 ?
Il semble toujours que quelque chose interfère avec le trafic entrant. Utilisez-vous Cloudflare pour le DNS ?
Non, j’utilise Google.
Si le test effectué par Discourse-setup échoue, vous devez en trouver l’explication. Il est assez clair qu’il a raison et que Let’s Encrypt ne peut pas attribuer de certificat.
Puisque vous savez installer nginx et apache, vous pouvez essayer d’obtenir un certificat de Let’s Encrypt, mais il est assez clair que cela bloque le port 80 et/ou 443.
Ok, le problème était que discourse-setup est cassé lors de l’utilisation de versions plus récentes de netcat, comme on peut le voir dans cette pull request : https://github.com/discourse/discourse_docker/pull/697
La suppression de l’indicateur -p corrige discourse-setup de signaler à tort qu’il ne peut pas établir de connexion sur les ports, puis il se termine et reconstruit l’application avec succès et je peux maintenant me connecter à mon installation sans problème.
Merci pour votre aide.
Je suis content que vous ayez réussi ! Je ne comprends pas pourquoi la reconstruction échouait à obtenir le certificat, car je pensais que vous alliez faire la reconstruction et sauter l’étape de configuration de Discourse.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.