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?
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.
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?
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.
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, da SkriptAlias 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.
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 testen
Our website uses cookies. Cookies are tiny text files which are saved in your web browser or by your web browser on your device when you access websites. They contain a characteristic character sequence allowing to clearly identify your browser upon your next visit to the website.
You can prevent the setting of cookies at any time by making the appropriate setting in your internet browser. Cookies that have already been set can be deleted manually or automatically at any time. This is possible in all common internet browsers. If the setting of cookies is deactivated in the browser, not all functions of the website may be fully usable.
We deliberately use very little cookies.
Detailed information can be found in section 4 of our Privacy Policy.
Necessary cookies
Essential Cookies are necessary to deliver this website and some of its features correctly.
For this reason, we do not provide any opportunity here to disable them.
Notwithstanding this, you can deactivate all Cookies in your Browser Settings at any time. Please be aware, however, that this might have an impact on the functionality of this website.
More information about the cookies to be set and how long they will be stored can be found in section 4 of our Privacy Poliy: Privacy Policy.
Google Analytics' Cookies
When you visit this website, Google Analytics sets cookies on your system. This will help us analyse how you use our website ans tailor it to the needs of our visitors. Your IP address will be automatically anonymised (IP anonymisation and deactivation of your User ID). Therefore, we cannot trace which data a certain user is accessing. The data are not saved together with any other personal user data.
You can deactivate tracking in your browser if you do not want us to be able to track your visit on our website.
Privacy Policy
Detailed information on the usage of cookies as well as our Privacy Policy can be found here: