Ich habe eine Amazon EC2-Instanz eingerichtet, um Discourse zu hosten, und alles scheint gut zu laufen – bis ich alle meine Informationen in das Installationsskript eingegeben und es ausgeführt habe. Danach sollte das Discourse-Docker-Image auf Port 80 verfügbar sein.
Das passiert jedoch nicht.
Ich habe keine Ahnung, warum. Etwas, das ich bisher diagnostizieren konnte, ist Folgendes: Wenn ich den Docker-Container stoppe und ihn dann neu starte, sehe ich beim Aufruf der IP-Adresse meiner EC2-Instanz zunächst den Standard-Nginx-Serverbildschirm. Doch nach wenigen Sekunden verschwindet auch dieser.
Ich habe die empfohlene Docker-Installation verwendet.
Wenn ich zur Domain navigiere, passiert nichts. Wenn ich zur IP-Adresse navigiere, passiert ebenfalls nichts.
Es läuft auf Port 80.
Wenn ich den Docker-Container stoppe und wie oben erwähnt neu starte, erscheint die Standard-nginx-Webseite mit der Meldung „Es funktioniert“. Nach wenigen Sekunden ist es jedoch wieder nicht erreichbar.
Was läuft hier schief? Das ist extrem frustrierend.
Ich glaube, ich habe meine /etc/hosts-Datei geändert, um das eigentliche Problem zu umgehen, nämlich dass der Installer mitteilte, dass die Ports 443 und 80 über den von mir verwendeten Hostnamen nicht erreichbar seien.
Ich habe mich tatsächlich dazu entschlossen, die Installation zu löschen und von vorne zu beginnen, und genau das passiert jetzt wieder. Warum lassen wir also alles, was ich oben gesagt habe, hinter uns und fangen ganz neu an?
Warum sollte der Zugriff auf die Ports 443 und 80 nicht möglich sein?
Meine EC2-Sicherheitsgruppe ist so konfiguriert, dass sie allen eingehenden HTTP- und HTTPS-Datenverkehr zulässt, daher bin ich hier etwas verwirrt.
Die Standardinstallation verwendet kein auf dem System installiertes nginx. Wenn Sie nginx auf dem Host installiert haben, kann Discourse nicht auf die Ports 80 und 443 zugreifen. Durch die Installation von nginx auf dem System haben Sie verhindert, dass Discourse in seiner Standardkonfiguration funktioniert.
Dies hat nichts mit Amazon zu tun. Es handelt sich einfach um Linux-Systemadministration.
(Es kann angemessen sein, nginx auf dem System zu installieren, um Setting up offline page eine Offline-Seite einzurichten, aber dafür ist das Verständnis erforderlich, wie Ports unter Linux funktionieren. Beginnen Sie also nicht damit, wenn die aktuelle Situation für Sie nicht verständlich ist!)
Es stellt sich heraus, dass du Cloudflare nicht den Proxy für deine Discourse-Subdomain erlauben kannst – du musst auf die orange Wolke beim A-Eintrag der Subdomain klicken, um sie auf „DNS only