Deprecated: Use of "parent" in callables is deprecated in /var/www/html/forum/src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php on line 431
  • If you need help or want to discuss things, you now can also join us on our Discord Server!
  • A first preview of the unlimited version of SinusBot can be found in the Upcoming Changes thread. A version for Windows will follow, but we don't have a release date, yet.

Apache Reverse Proxy "just a second, please..."

Status
Not open for further replies.

cmdgaming

New Member
Moin,
erstmal ein großes Lob, der Bot ist spitze!
Ich möchte von extern auf dem Bot zugreifen, deshalb habe ich einen Reverse Proxy auf meinem Apache eingerichtet. Wenn ich nun über die Domain auf das Webinterface gehe kommt folgendes: https://drive.google.com/file/d/0B_s2XmBQ9pRuWkYxYjMzNTE3b1k/view?usp=sharing

Im Vhost steht folgendes:

<VirtualHost *:80>
ServerName example.de

RewriteEngine On
RewriteRule ^/sinusbot$ /sinusbot/ [R]

ProxyPass /sinusbot/ http://192.168.100.10:8087/
ProxyPassReverse /sinusbot/ http://192.168.100.10:8087/
</VirtualHost>

Ich hoffe mir kann jemand helfen. Ich bin leider noch nicht so tief in der Apache-Materie drin.

LG Felix
 

flyth

is reticulating splines
Staff member
Developer
Contributor
Der Bot benutzt für mehr oder weniger alles absolute Urls, es wird nicht funktionieren, ihn in einen Unterordner zu legen. Eine Subdomain / ein anderer Vhost sollte funktionieren.
 

cmdgaming

New Member
Bei mir ist das so:
Wenn ich auf xy.example.de gehe komm ich auf die MainPage des Servers. wenn ich xy.example.de/sinusbot/ gehe leitet mich der Proxy auf 192.168.100.10:8087. Also soll ich es jetzt so machen, das xy.example.de direkt auf den Bot leitet?
 

flyth

is reticulating splines
Staff member
Developer
Contributor
Dieses Weiterleiten wäre ja kein Reverse Proxying. Du solltest eine freie Subdomain wählen und direkt auf den Bot leiten, genau - das wäre jedenfalls am elegantesten. :)
 

cmdgaming

New Member
Ich würde das ganze lieber über Port 80, bzw. nachdem das Funktioniert 443, also HTTPS laufen lassen.
 

flyth

is reticulating splines
Staff member
Developer
Contributor
Das widerspricht dem doch nicht, würde ich genau so auch machen.

https://blah.domain.xy wird dann vom Webserver selbst nach http://....:8087 geleitet - nicht über den Browser.
 

cmdgaming

New Member
ja dann müsste ich aber den Port öffnen wollte ich eigentlich nur ungern :(
hab das lieber clean ohne irgendwelche Ports dahinter :D und SSL ist auch nur über Proxy realisierbar... soweit ich weiß..
 

flyth

is reticulating splines
Staff member
Developer
Contributor
Einen Port braucht der Bot in jedem Fall, aber wenn Webserver und Bot auf derselben Maschine laufen, kannst du ja als ListenHost = "127.0.0.1" angeben und dorthin leiten. Dann gibt's nach außen hin keinen offenen Port.

Der Bot selbst kann auch SSL, wenn du die nötigen Zertifikate hast. Siehe config.ini.
 

cmdgaming

New Member
Ich habe jetzt nochmal im Netz geschaut. Die einzige möglichkeit die ich dort finde ist der Reverse Proxy. Entweder bin ich zu doof der wir reden aneinander vorbei :D
 

flyth

is reticulating splines
Staff member
Developer
Contributor
Wir reden aneinander vorbei. Der Proxy soll dich / deinen Browser nicht weiterleiten, sondern nur den Traffic im Hintergrund selbst. Das ist Reverse Proxying. Ich hatte dich oben so verstanden, als würde der Browser weitergeleitet werden - das wäre dann eben kein Reverse Proxying.
 

cmdgaming

New Member
Ich schilder das ganze Problem vll. nochmal verständlicher:
Ich habe einen Server mit dem Bot und Apache2 darauf. Auf diesen Server wird meine Domain geleitet.
Offene Ports sind 80 und 443
Ich möchte nun, dass wenn ich von EXTERN auf xy.cmdgaming.de/sinusbot/ gehe, mich der reverse Proxy auf die INTERNE IP:port 192.168.100.10:8087 (bzw 127.0.0.1:8087) weiterleitet, damit ich 1. Keinen Port in der Firewall freigeben muss und 2. damit ich keinen Port beim aufrufen der Seite eingeben muss.

statt xy.cmdgaming.de/sinusbot/ wäre genau so gut xy.cmdgaming.de möglich, allerdings ungerne und ich denke das trägt nicht zu Sache bei
 

flyth

is reticulating splines
Staff member
Developer
Contributor
Yup, genau so würde ich es halt auch machen. NUR das mit dem Unterverzeichnis geht halt nicht, weil die Verweise des Bots absolut sind, d.h. immer bei / anfangen, nicht bei /sinusbot. Im Augenblick wäre also nur die Lösung möglich, die dir nicht so lieb wäre oder eine neue Subdomain (yz.cmdgaming.de).
 

cmdgaming

New Member
aber im Prinzip sind es ja / anfragen, nur das sie für den browser nach /sinusbot/ aussieht.. ich probiere es trotzdem mal
 

flyth

is reticulating splines
Staff member
Developer
Contributor
Das spielt keine Rolle, so einfach geht das leider nicht. Im HTML/JavaScript des Bots ist ein Verweis nach /api/v1/blah, dann wird das auch genau so und ohne /sinusbot davor an den Server gesendet. Da das nicht gefunden wird, gibt es Fehler. In deinem Fall findet er benötigte Scripts nicht und bleibt beim Laden hängen.
 

cmdgaming

New Member
OK Über die Subdomain direkt klappt es :) Vielen Dank!
Wird das Feature kommen, dass man auswählen kann, unter welchem Webpfad das ganze zu erreichen ist?

LG und schönen Abend
Felix von CMDGaming
 

flyth

is reticulating splines
Staff member
Developer
Contributor
Möglicherweise irgendwann. Aber die Prio ist ziemlich niedrig, weil es nur sehr wenige Leute betrifft.
 
Status
Not open for further replies.
Top