Configuration de Discourse sur AWS EC2 ne fonctionne pas avec le DNS IPv4 par défaut

Bonjour à la communauté Discourse,

Je suis nouveau sur Discourse et je teste simplement la configuration de Discourse sur une instance AWS EC2 en suivant discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub. Cependant, je n’ai pas réussi à le lancer. Voici le problème que je rencontre :

Avant d’acheter toutes les ressources, je voulais tester le site sans nom de domaine, j’ai donc utilisé le DNS IPv4 public de cette instance comme nom d’hôte de Discourse et pour accéder au site, par exemple https://ec2_ip_address.us-west-1.compute.amazonaws.com/.
J’ai ouvert les ports 80 et 443 sur l’instance via le groupe de sécurité et vérifié que ces ports étaient accessibles depuis le réseau public (testé avec un serveur simple Python).
Mais j’obtiens « Ce site n’est pas accessible » dans le navigateur après avoir lancé le serveur Discourse avec ./discourse-setup ou ./launcher rebuild app.

J’ai essayé Discourse Doctor, et il retourne :

Version de Discourse à ec2-ip_address.us-west-1.compute.amazonaws.com : NON TROUVÉE
Version de Discourse à localhost : NON TROUVÉE

Je ne suis pas à 100 % certain que la configuration des e-mails fonctionne, mais je suppose que l’accessibilité du site est un problème distinct de celui des e-mails.

Quelqu’un peut-il m’indiquer ce qui manque ou comment déboguer ce problème ?

Merci beaucoup !

3 « J'aime »

Bienvenue dans la communauté Meta Discourse :slightly_smiling_face:

Cela peut être sans rapport, mais je remarque une incohérence ici :

2 « J'aime »

Bonjour Jonathan,

Merci d’avoir vérifié. J’ai omis l’adresse IP ici, l’URL devrait être correcte.

3 « J'aime »

Le statut Not found sur votre nom de domaine est très probablement dû au fait que le site n’est pas encore en ligne. Vous devrez partager davantage d’informations provenant de votre journal discourse-doctor.

La reconstruction/initialisation (rebuild/bootstrap) s’est-elle terminée avec succès ?

Si l’instance EC2 est sous-dimensionnée, il est possible que Discourse prenne un certain temps (environ 3 à 5 minutes dans certains cas).

Ce que vous devriez vérifier : si votre build se termine avec succès, utilisez docker ps pour confirmer que le conteneur est en cours d’exécution et qu’il écoute sur les ports 80 et 443. Une fois cela vérifié, le problème vient du groupe de sécurité AWS et non de l’installation elle-même.

3 « J'aime »

Pouvez-vous vérifier que vous pouvez accéder au serveur via le nom d’hôte ?

2 « J'aime »

Le statut Not found sur votre nom d’hôte est très probablement dû au fait que le site n’est pas encore en ligne. Vous devrez partager davantage d’informations provenant de votre journal discourse-doctor.

Je suis d’accord. Je vais surveiller le journal de construction pour voir s’il y a un problème. Comment puis-je déboguer s’il y a une erreur dans le journal ?

Pouvez-vous vérifier que vous pouvez accéder au serveur via le nom d’hôte ?

Oui, j’ai vérifié le nom d’hôte et les ports sont accessibles dans le navigateur, à la fois 80 et 443. J’ai créé un serveur HTTP Python servant simplement quelques fichiers, et je vois la réponse dans le navigateur.

2 « J'aime »

Voyez-vous quelque chose dans les journaux ? Quelque chose comme :

/var/discourse/shared/standalone/logs/var-log/nginx/error.log

Il devrait y avoir un problème avec Let’s Encrypt et AWS. Même si c’était votre propre domaine, si vous avez reconstruit plusieurs fois, vous auriez pu atteindre votre quota.

2 « J'aime »

C’est drôle que tu le mentionnes. :slightly_smiling_face: C’est ce qui m’a d’abord attiré vers ce sujet. J’aide beaucoup de personnes sur https://community.letsencrypt.org et je pensais que ce sujet relevait de mon domaine d’expertise pour pouvoir intervenir. Pour appliquer mes outils, j’aurais besoin de connaître les vrais noms de domaine.

2 « J'aime »

@ys2843

  • Peux-tu mettre à jour ce qui s’est passé plus tard ? Je suis bloqué avec exactement le même problème.
1 « J'aime »

Essayez-vous d’utiliser un nom de domaine AWS ? Ne le faites pas. Utilisez le vôtre.

Avez-vous consulté les journaux ?

Si vous avez effectué de nombreuses reconstructions, vous atteindrez également les limites de taux de Let’s Encrypt.

1 « J'aime »

@pfaffman

Contexte : Configuration d’un forum Discourse minimal en tant que preuve de concept sur AWS, en essayant de minimiser les coûts

Vous pouvez enregistrer un nom de domaine pour 3 chez GoDaddy. Si votre temps vaut plus de 3 /heure, vous devriez enregistrer un nom de domaine. Et si vous n’avez pas 3 $ pour enregistrer un nom de domaine, vous ne pouvez pas vous permettre une instance EC2 non plus.

2 « J'aime »

@pfaffman

  • Je suis d’accord avec toi sur la question de la tarification.
  • D’un point de vue technique, existe-t-il une solution de contournement ???

Bien sûr ! Voyez si quelqu’un d’autre utilisant un nom de domaine .amazonaws.com utilise Let’s Encrypt, puis attendez une semaine. Si vous ne souhaitez pas enregistrer un domaine, ce serait la prochaine chose que j’essaierais.