Discourse-Setup auf AWS EC2 funktioniert nicht mit Standard-IPv4-DNS

Hallo Discourse-Community,

ich bin neu bei Discourse und teste gerade die Einrichtung von Discourse auf einer AWS EC2-Instanz gemäß discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub. Allerdings konnte ich es nicht hochfahren. Hier ist das Problem, das ich habe:

Bevor ich alle Ressourcen gekauft habe, wollte ich die Website ohne Domainnamen ausprobieren, daher habe ich die öffentliche IPv4-DNS-Adresse dieser Instanz als Hostnamen für Discourse verwendet und auf die Website zugegriffen, z. B. https://ec2_ip_address.us-west-1.compute.amazonaws.com/.
Ich habe den Port 80 und 443 auf der Instanz über die Sicherheitsgruppe geöffnet und überprüft, dass diese Ports vom öffentlichen Netzwerk aus erreichbar sind (getestet mit einem einfachen Python-Server).
Aber ich erhalte nach dem Starten des Discourse-Servers mit ./discourse-setup oder ./launcher rebuild app die Meldung „Diese Website kann nicht erreicht werden" im Browser.

Ich habe den Discourse-Doctor ausgeführt, und er gibt Folgendes zurück:

Discourse version at ec2-ip_address.us-west-1.compute.amazonaws.com: NOT FOUND
Discourse version at localhost NOT FOUND

Ich bin mir nicht zu 100 % sicher, ob die E-Mail-Einrichtung funktioniert, aber ich gehe davon aus, dass die Zugänglichkeit der Website ein separates Problem von der E-Mail ist.

Kann mir jemand sagen, was fehlt oder wie ich dieses Problem debuggen kann?

Vielen Dank!

3 „Gefällt mir“

Willkommen in der Meta-Diskussions-Community :slightly_smiling_face:

Das mag nichts damit zu tun haben, aber mir fällt hier eine Inkonsistenz auf:

2 „Gefällt mir“

Hallo Jonathan,

danke, dass du nachgefragt hast. Ich habe die IP-Adresse hier weggelassen, die URL sollte korrekt sein.

3 „Gefällt mir“

Der Status Not found bei Ihrem Hostnamen liegt höchstwahrscheinlich daran, dass die Seite noch nicht live ist. Bitte teilen Sie weitere Informationen aus Ihrem discourse-doctor-Log mit.

Wird der Neuaufbau/Bootstrap erfolgreich abgeschlossen?

Wenn die EC2-Instanz zu schwach ausgelegt ist, kann es sein, dass Discourse einige Zeit benötigt (in einigen Fällen etwa 3–5 Minuten).

Sie sollten prüfen, ob der Build erfolgreich abgeschlossen wurde. Überprüfen Sie dann mit docker ps, ob der Container läuft und auf den Ports 80 und 443 lauscht. Sobald dies bestätigt ist, liegt das Problem bei der AWS-Sicherheitsgruppe und nicht bei der Installation selbst.

3 „Gefällt mir“

Kannst du bitte überprüfen, ob du über den Hostnamen auf den Server zugreifen kannst?

2 „Gefällt mir“

Der Status Not found bei Ihrem Hostnamen liegt höchstwahrscheinlich daran, dass die Seite noch nicht live geschaltet ist. Sie müssen mehr aus Ihrem discourse-doctor-Log teilen.

Zustimmung. Ich werde das Build-Log genau prüfen und sehen, ob etwas nicht stimmt. Wie kann ich debuggen, wenn ein Fehler im Log auftritt?

Können Sie bestätigen, dass Sie über den Hostnamen auf den Server zugreifen können?

Ja, ich habe den Hostnamen überprüft und die Ports sind im Browser erreichbar, sowohl 80 als auch 443. Ich habe einen Python-HTTP-Server erstellt, der einfach einige Dateien bereitstellt, und ich kann die Antwort im Browser sehen.

2 „Gefällt mir“

Sehen Sie etwas in den Protokollen? Etwas wie

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

Es sollte ein Problem mit Let’s Encrypt und AWS geben. Selbst wenn es Ihre eigene Domain wäre, könnten Sie bei mehrmaligem Neuaufbau Ihr Kontingent ausgeschöpft haben.

2 „Gefällt mir“

Schön, dass du das erwähnst. :slightly_smiling_face: Genau das hat mich ursprünglich auf dieses Thema aufmerksam gemacht. Ich helfe vielen Leuten unter https://community.letsencrypt.org und dachte, dieses Thema läge in meinem Bereich, um zu unterstützen. Um meine Tools anwenden zu können, müsste ich die echten Domainnamen kennen.

2 „Gefällt mir“

@ys2843

  • Könntest du bitte später aktualisieren, was passiert ist? Ich stecke mit exakt demselben Problem fest.
1 „Gefällt mir“

Versuchst du, einen AWS-Domainnamen zu verwenden? Tu es nicht. Verwende deinen eigenen.

Hast du die Logs geprüft?

Wenn du viele Neuaufbauten durchgeführt hast, wirst du auch auf die Ratenbegrenzungen von Let’s Encrypt stoßen.

1 „Gefällt mir“

@pfaffman

Hintergrund: Einrichtung eines minimalen Discourse-Forums als Proof of Concept auf AWS mit dem Ziel, die Kosten zu minimieren

Sie können einen Domainnamen bei GoDaddy für 3 registrieren. Wenn Ihre Zeit mehr als 3 pro Stunde wert ist, sollten Sie eine Domain registrieren. Und wenn Sie nicht einmal 3 $ für die Registrierung einer Domain haben, können Sie sich auch keine EC2-Instanz leisten.

2 „Gefällt mir“

@pfaffman

  • Bei der Preisperspektive stimme ich dir zu.
  • Gibt es aus technischer Sicht irgendeine Workaround-Lösung?

Klar! Schau dir an, ob jemand anderes eine .amazonaws.com-Domain mit Let’s Encrypt nutzt, und warte dann eine Woche. Wenn du keine eigene Domain registrieren möchtest, wäre das als Nächstes mein Versuch.