Schlagwörter: Agenteninterface, Kundeninterface, OTOBO, Reverse-Proxy, Traefik.Nginx, URL
-
AutorBeiträge
-
-
27. Januar 2022 um 16:36 Uhr - Views: 1329 #12563
Hallo zusammen,
ist es möglich die OTOBO URL ohne nginx umzuleiten?Unser Szenario ist folgendes. Wir haben unsere OTOBO Instanz hinter einem Reverse-Proxy (Traefik) aufgesetzt und würden jetzt gerne die URL wie folgend anpassen.
Kundeninterface: domain.de
Agenteninterface: domain.de/agent
Ist es möglich das ganze so einzustellen, ohne den nginx von OTOBO zu benutzen, oder müssen wir diesen zwangsläufig nutzen?
Danke und Gruß Robin
-
29. Januar 2022 um 12:26 Uhr #12572
Hallo Robin,
zuerst einmal ist der Webserver, der die OTOBO Web-App ausliefert, unabhängig von vorgeschalteten Reverse-Proxys. Technisch ist das in bin/cgi-bin/otobo.psgi abgebildet. Dort wird geprüft ob der HTTP-Header HTTP_X_FORWARDED_HOST gesetzt ist, Wenn ja, dann werden die entsprechenden Header umgeschrieben. Das sollte auch mit Traefik funktionieren.
In der Frage ist vom „OTOBO nginx“ die Rede. Ich vermute also dass es sich um eine Docker-basierte Installation handelt. In diesen Fall dient der nginx allein zur TLS Terminierung. Wenn man die .env-Datei von der Vorlage .docker_compose_env_http ableitet, dann ist nginx komplett raus. Auf dem Docker host ist dann OTOBO über Port 80 verfügbar. In .env kann man über die Einstellung OTOBO_WEB_HTTP_PORT auch einen anderen Port einstellen. Die TLS-Terminierung muss dann von Traefik erledigt werden. Eine Beispielskonfiguration, in diesen Fall für Apache als Reverse Proxy, ist in scripts/apache2-httpd-plack-proxy.include.conf abgelegt.
Mit der Anpassung der URLs habe ich leider keine konkrete Erfahrung. Problematisch finde ich dass Agenten- und Kunden-Interface auf verschiedenen Ebenen liegen sollen. In der OTOBO SysConfig gibt es ja die Einstellung ScriptAlias. Diese Einstellung setzt aber den Pfad zu sowohl index.pl als auch customer.pl. Daneben gibt es auch noch /otobo-web/ mit statischen Content. Der Pfad dazu ist mit Frontend::WebPath einstellbar. Mein Tipp wäre also die Struktur prinzipiell unverändert zu lassen und kurze Einstiegs-URLs per Redirect im Traefik bereitzustellen. Wenn man ‚otobo‘ nicht im Pfad haben will, dann kann die SysConfig anpassen und beispielsweise folgende URLs nach außen geben:
- domain.de/support/index.pl (Agenten)
- domain.de/support/customer.pl (Kunden)
- domain/support-static/ (JavaScript, CSS, common content)
In der SysConfig ist mir noch aufgefallen dass otobo-web an drei Stellen hart verdrahtet ist. Das sollte in OTOBO 10.1 verbessert sein, siehe https://github.com/RotherOSS/otobo/issues/1582.
Viele Grüße und viel Erfolg mit OTOBO,
Bernhard Schmalhofer
-
2. Februar 2022 um 15:42 Uhr #12596
Hallo bes,
danke für deine Antwort! Bitte entschuldige die verspätete Reaktion.Wie ich sehe ist das ganze nicht so einfach zu realisieren. Für den Anfang würde es uns schon reichen, wenn das /otobo/ rausfallen würde und wir direkt auf das Kundeninterface und nicht das Agenteninterface weitergeleitet werden.
Sprich das unsere „domain.de“ auf „domain.de/customer.pl“ weiterleitet und man durch manuelles angeben von /index.pl auf das Agenteninterface kommt. Ist das zu realisieren?
Gruß und Danke Robin!
-
2. Februar 2022 um 18:53 Uhr #12597
Hallo Robin,
für dieses Szenario ist es, wenigstens aus meiner Sicht, am einfachsten die Anpassungen direkt in bin/psgi-bin/otobo.psgi einzupflegen. I probiere das morgen mal aus.
Viele Grüße,
Bernhard
-
3. Februar 2022 um 13:45 Uhr #12598
Hallo,
ich habe die geänderten URLs auf einer HTTP-only Installation unter Docker ausprobiert. Ich habe dazu zwei Dateien angepasst.
- /opt/otobo/var/httpd/htdocs/index.html – Damit die Domain URL auf /customer.pl geht
- /opt/otobo/bin/psgi-bin/otobo.psgi – Für Unterstützung von /index.pl und /customer.pl, default /customer.pl
Mit den geänderten Dateien konnte ich http://localhost/installer.pl ausführen. Die URL die am Ende von installer.pl ist aber nicht korrekt.
Mit root@localhost konnte ich mich dann auf http://localhost/index.pl einloggen. Danach dann in der Systemkonfiguration den Wert von
SkriptAlias
auf den Leerstring setzen. Dabei musste ich mich zweimal neu einloggen. Das ist nachvollziehbar, daSkriptAlias
Einfluss auf das Session-Cookie hat. Danach hat index.pl prinzipiell funktioniert. Die Redirekts auf customer.pl waren auch erwartungsgemäß. customer.pl selbst habe ich aber nicht mehr getestet.Die zwei geänderten Dateien habe ich zum Testen bereits beim Bau des Docker-Images geändert. Für die Produktion empfehle ich ein eigenes Docker-Image zu bauen. Für das spezielle Image kann man OTOBO web Image als Basis nehmen und die zwei Dateien mit COPY einpflegen . Aber man kann die Dateien auch nach dem Start des Containers otobo_web_1 in das Volume kopieren und dann otobo_web_1 neu starten. Das kopieren kann man mit
docker cp
erledigen. Bei Versionsupgrades muss man dann natürlich aufpassen.Viele Grüße,
Bernhard
-
3. Februar 2022 um 14:01 Uhr #12599
Ergänzung: die angepassten Dateien habe an das Issue 1279 angeheftet.
-
3. Februar 2022 um 14:33 Uhr #12600
Hallo bes,
danke für deine Hilfe. Die weiterleitung auf die customer.pl habe ich gestern tatsächlich durch zufall selber schon gefunden und geändert. funktioniert soweit alles.
Als nächstes werde ich versuchen /otobo/ aus der Domain zu streichen. Ich bin gerade dabei eine Test Instanz aufzusetzen.
Anhand dieser werde ich dann auch die kommenden Updates zuerst testenGruß Robin
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.