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?
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.
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.
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.
Schön, dass du das erwähnst. 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.
Hintergrund: Einrichtung eines minimalen Discourse-Forums als Proof of Concept auf AWS mit dem Ziel, die Kosten zu minimieren
Gibt es eine Möglichkeit, einen von AWS bereitgestellten Domainnamen zu verwenden?
Heuristisches Beispiel: ec2-ip_address.us-west-1.compute.amazonaws.com
Ich habe keine Domain gekauft. Gibt es eine Möglichkeit, dies zu vermeiden?
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.
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.