Hallo,
Kann mir jemand Anleitungen oder Beispiele geben, wie man WebSockets mit HTTPS für Discourse einrichtet?
Einfaches HTTP funktioniert, aber ich benötige es über HTTPS.
Hallo,
Kann mir jemand Anleitungen oder Beispiele geben, wie man WebSockets mit HTTPS für Discourse einrichtet?
Einfaches HTTP funktioniert, aber ich benötige es über HTTPS.
FWIW, wie ich aus Ihrem anderen Beitrag gelesen habe, könnte dies einen Versuch wert sein
Nicht wirklich, ich betreibe andere Websites problemlos über 80/443, wie ich bereits sagte. Ich betreibe bereits Websites mit LiteSpeed, selbst der Mailserver ist nicht blockiert. Ich habe es sogar mit Port 8443 versucht, aber nichts kam dabei heraus. Über Websocket konnte ich es zumindest über HTTP ausführen, aber es war aufgrund von Mixed Content über HTTPS kaputt.
Discourse unterstützt keine anderen Portkombinationen als 80/443.
Discourse unterstützt dies möglicherweise nicht, aber Docker tut es, aber ich kann es immer noch mit Sockets an das äußere Nginx übergeben.
Dies ist über 8080.
Mein einziges Problem ist, dass ich HTTPS auf keine Weise zum Laufen bekomme.
Deshalb habe ich gesagt, dass Discourse keine anderen Ports als 80/443 unterstützt. Wenn Sie wirklich eine alternative Kombination versuchen möchten, sind Sie auf sich allein gestellt.
Das ist meiner Meinung nach wirklich dumm. Leute betreiben normalerweise mehrere Dienste auf demselben Server, Sie schränken die Benutzer buchstäblich daran, dies zu tun. Außerdem sind Docker-Container normalerweise nicht allein auf demselben Server. Sie scheinen andere Leute dazu zu drängen, separate Server zu kaufen, nur weil Sie keine anderen Ports als den Standard unterstützen möchten.
Tausende von Menschen hosten buchstäblich andere Dienste auf demselben Server wie Discourse. Es gibt Möglichkeiten, dies zu tun. Wenn Sie recherchieren, ist dies ein sehr gut unterstützter Anwendungsfall. Sie müssen es hinter einem Reverse-Proxy platzieren, um dies zu erreichen.
Hier ist eine Möglichkeit, dies zu tun: Run other websites on the same machine as Discourse
Ich habe meine öffentliche Discourse-Sandbox auf einem NUC gehostet, das mehrere andere Dienste hinter Nginx Proxy Manager hostet, aber das ist meine Art, es zu tun. Es wird nicht offiziell unterstützt, aber ich kenne mich damit aus.
Ich habe das auch schon vorher versucht, es kommt nicht richtig durch. Jedenfalls sehe ich den Sinn von Support in diesem Fall überhaupt nicht mehr, denn wie Sie sagten, tun das Tausende von Leuten. Dennoch gibt es keine klaren Schritte, um es irgendwo auf Github oder Wiki zum Laufen zu bringen. Nur die direkte 80/443-Option, die wie ein einzelner Dienst wirkt.
Sie benötigen einen Reverse-Proxy, wie z. B. Einrichtung von Discourse auf einem Server mit vorhandenen Apache-Websites.
Außerdem verwende ich sowieso kein Apache, ich würde eher Nginx und LiteSpeed benötigen, aber nichtsdestotrotz wäre es einfacher, einfach andere Ports zu verwenden, dann können wir das problemlos an andere Webserver weitergeben.
Nein, ich verstehe Docker überhaupt nicht. Aber als ich Discourse auf demselben VPS hatte, auf dem ich vorher Nginx und Varnish hatte, habe ich Sockets ohne Probleme verwendet. Aber ist das etwas anderes?
Heutzutage habe ich Discourse auf einem anderen VPS als dort, wo Nginx/Varnish ist, daher kann ich keine Sockets verwenden. Deshalb schickt Varnish jeden zu Port 82 und von dort zum VPS von Discourse. Und deshalb habe ich:
expose:
- "82:80"
Aber ist das nicht auch etwas ganz anderes, als dass Discourse nur die Ports 80/443 verwenden kann?
Dann können Sie die Nginx-Anleitung finden oder diese als Beispiel verwenden.
Das wird nicht passieren. Sie benötigen einen Reverse-Proxy, der HTTPS unterstützt.
Ich habe einen Weg gefunden, es zum Laufen zu bringen, es war doch nicht so schwer, und Sie können Discourse auf jedem beliebigen Port ausführen.
Richtig. Sie können den Discourse-Docker-Container an Port 82 (oder einen beliebigen Port) öffnen lassen, wenn Sie Varnish davor haben, sodass die URL eine normale HTTPS-URL ist. Solange Varnish die HTTPS-Zertifikate verwaltet, sollten Sie wie erwartet fortfahren können.