Ich versuche, Discourse Docker auf meinem bestehenden Server einzurichten. Ich betreibe keine anderen Docker-Container.
Mein Server läuft mit Apache (WordPress-Websites) und einigen anderen Webdiensten.
Ich kann nicht herausfinden, wie ich mein Subdomain ‘forum.rebelscience.club’ an meinen Docker-Container weiterleiten soll.
Wenn ich folgende Frage gestellt bekomme:
Hostname für dein Discourse? [discourse.example.com]: forum.rebelscience.club
Sehe ich Folgendes:
Überprüfung deines Domainnamens . . .
WARNUNG: Port 443 des Computers scheint über den Hostnamen forum.rebelscience.club nicht erreichbar zu sein.
WARNUNG: Die Verbindung zu http://forum.rebelscience.club (Port 80) schlägt ebenfalls fehl.
Dies deutet darauf hin, dass forum.rebelscience.club auf eine IP-Adresse aufgelöst wird, die nicht zu diesem
Rechner führt, auf dem du Discourse installierst.
Das Erste, was zu tun ist, besteht darin, zu bestätigen, dass forum.rebelscience.club auf die IP-Adresse dieses Servers aufgelöst wird.
Dies geschieht in der Regel dort, wo du die Domain erworben hast.
Wenn du sicher bist, dass die IP-Adresse korrekt aufgelöst wird, könnte es ein Firewall-Problem sein.
Eine Websuche nach „Ports öffnen DEIN CLOUD-DIENST
Entschuldigung, ich hätte erwähnen sollen, dass ich bereits einige Lösungen aus diesem Forum und von Digital Ocean geprüft und ausprobiert habe. Aber es funktioniert immer noch nicht. Ich habe Docker noch nie zuvor eingerichtet.
Lassen Sie mich meine aktuellen Einstellungen teilen:
/etc/hosts:
127.0.0.1 forum.rebelscience.club
Die Hosts-Datei und der DNS-Eintrag funktionieren, da phpBB heute dort lief. Jetzt versuche ich, es auf einen Docker-Container mit Discourse umzuleiten.
Ich glaube, Sie sollten einen VirtualHost für Port 443 haben. Das heißt, der Fehler auf Port 80 ist seltsam. Vielleicht fehlt Ihnen etwas (ein CNAME?) in Ihrem DNS.
Im obigen Fall (Beispielkonfiguration) sollten Sie nur den Port 8081 in Docker freigeben (und nicht den Port 80 oder den Port 443).
Die Ports 80 und 443 werden vom Reverse-Proxy außerhalb des Containers freigegeben, und dieser Verkehr wird an Port 8081 weitergeleitet (in Ihrem obigen Beispiel), den Port, den Sie innerhalb des Containers freigegeben haben (auf Port 80 gemappt).
Dies funktioniert nur, wenn Sie Port 80 innerhalb des Containers auf Port 8081 (für den Host freigegeben) gemappt haben.
expose:
- "8081:80" # http
Hoffentlich hilft das.
PS: @rebelCoder, Ihrer Apache2-Konfiguration auf der SSL-Seite fehlen viele erforderliche Konfigurationsdetails.