cmsimple hinter einem Proxy möglich?

CMSimple 4.0 und höher
Gert
Posts: 2092
Joined: Sun 18. Nov 2012, 14:18

Re: cmsimple hinter einem Proxy möglich?

Post by Gert »

Hallo Jens,

teste doch mal mit einer Installation in einem Unterordner. Da fehlt dann im Filebrowser oben im rechten Fenster ein Teil vom Pfad. Das ist schonmal kein gutes Zeichen.

Versuche doch bitte mal anstelle Deiner Zeile folgendes, cms.php ca. Zeile 203:

Code: Select all

// create $sn variable (2014, moved 2023)
$sn = preg_replace('/index.php/i', '', $_SERVER['SCRIPT_NAME']);
if($sn == '/')$sn = ''; // neue Zeile
Funktioniert dann die Seite im Unterordner?

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
jensu62
Posts: 9
Joined: Sun 3. Dec 2023, 12:57
Location: Wiesbaden
Contact:

Re: cmsimple hinter einem Proxy möglich?

Post by jensu62 »

Hallo Gert,

erstmal habe ich einen Test meiner Seite in einem Unterordner getestet. Funktioniert direkt wie auch über Proxy interessanterweise einwandfrei.
Dann habe ich stattdessen Deinen Fix eingebaut. Ergebnis bleibt. Funktioniert weiterhin alles sauber.

Ich habe allerdings nichts am CMSimple Admin Menü rumgebastelt, sondern schlicht eine Subdomain erstellt, wo man erst in das Verzeichnis eintauchen muss. Das meintest du doch, oder?
https://test.katzenjens.de/catsbastel/
Gert
Posts: 2092
Joined: Sun 18. Nov 2012, 14:18

Re: cmsimple hinter einem Proxy möglich?

Post by Gert »

jensu62 wrote: Sun 3. Dec 2023, 18:22 Das meintest du doch, oder?
Hauptsache Unterordner, denn eigentlich wird ja $sn erst da interessant. Das betrifft Subsites, Zweitsprachen und komplette Installationen in Unterordnern, ob Subdomain oder nicht sollte eigentlich keinen Unterschied machen.

Mein Problem ist, dass ich das Problem mit den Proxies weder verstehe noch testen kann. Bei einer Installation im Domain Root ist $sn == '/', warum soll das hinter einem Proxy nicht funktionieren? Und gibt das Probleme, wenn $sn bei Installationen im Domain Root auf leer gesetzt wird? Bei einer Installation in einem Unterordner auf jeden Fall irgendwo, auch wenn das nicht gleich auffällt. $sn ist eine sensible Variable, da kann man gar nicht genug testen, bevor man da ran geht.

Könntest Du mir mal für test.katzenjens.de/ und test.katzenjens.de/catsbastel/ die CMSimple-Passwörter geben (per PM)? Dann könnte ich mal was probieren,

Gert

PS: Auf test.katzenjens.de/ ist ja zur Zeit noch nichts, kannst Du da auch noch ein CMSimple installieren? Kann ja Standard Template und -Inhalt sein. Nur eben die cms.php mit meinem Fix.
Gert Ebersbach | CMSimple | Templates - Plugins - Services
jensu62
Posts: 9
Joined: Sun 3. Dec 2023, 12:57
Location: Wiesbaden
Contact:

Re: cmsimple hinter einem Proxy möglich?

Post by jensu62 »

Hallo Gert,

muss mich leider selbst verbessern. Dein Fix funktioniert doch nicht. Hatte schlicht vergessen, meinen dort rauszukommentieren. Zum Vergleich nun:

Vergleich: "Mein" Fix hier: https://test.katzenjens.de/catsbastel/
Dein Fix hier: https://test.katzenjens.de/catsbastel2/
Über Proxy https://hx.katzenjens.de/test/catsbastel/ und https://hx.katzenjens.de/test/catsbastel2/

Du brauchst aber gar nicht so in die Tiefe gehen. Im Browserquelltext überprüfen. Der Fehler, so man ihn überhaupt als solchen erkennen kann, ist hier im Navigationsbereich:

Code: Select all

<li class="Startseite___Aktuelles doc"><a href="/catsbastel2/?Startseite___Aktuelles">Aktuelles</a></li>
Über Proxy funktionieren tut es so:

Code: Select all

<li class="Startseite___Aktuelles doc"><a href="?Startseite___Aktuelles">Aktuelles</a></li>
Gemeinerweise ist beim normalen Seitenaufruf über Browser ohne Proxy beides fehlerfrei möglich. Auch wenn man mit dem Cursor über den Link schwebt, zeigen beide Versionen exakt das gleiche an.
Was auch interessant ist, wenn man im Editor einen Text verlinkt, wird immer die richtige Syntax genommen. Das siehst du daran, dass die Links auf der Startseite alle funktionieren, die Menülinks aber nicht.
Ich glaube, mir dämmert so langsam, was du in diesem Fall mit "Root" Verzeichnis meinst. Spätestens, wenn man zweisprachig arbeitet und verschiedene Verzeichnisse nimmt, kann mein Fix auf die Nase fallen.
Ich habe versucht, im Editor mal verschiedene Link-Varianten herzustellen. Allerdings hat mir der Editor, selbst im Rohdatenmodus immer wieder die Links "angepasst". Es bleibt dabei, Links erstellt über den Editor funktionieren. Menulinks nicht.

Nun muss ich leider in die Heia. Aber dieses spezielle Problem ist ja nun auch nicht so eilig. Für mich war es eine Herausforderung, den Quellcode wenigstens ein kleines Stück zu durchschaut zu haben, um es für meinen Fall anzupassen. Ich werde demnächst mal verschiedene Testszenarien ausprobieren. Und ich habe dadurch auch gelernt, dass Proxies doch nicht so transparent sind, wie man denkt. Alles Learning by Doing.

Viele Grüße,
Jens
Gert
Posts: 2092
Joined: Sun 18. Nov 2012, 14:18

Re: cmsimple hinter einem Proxy möglich?

Post by Gert »

Hallo,

ich verstehe es immer weniger ...

hx.katzenjens.de/test/catsbastel2/: Bei den Menülinks fehlt "test/".
jensu62 wrote: Sun 3. Dec 2023, 20:28 Ich glaube, mir dämmert so langsam, was du in diesem Fall mit "Root" Verzeichnis meinst.
Domain Root: hx.katzenjens.de/
CMSimple Root: hx.katzenjens.de/test/catsbastel2/

Nur damit wir uns verstehen ...

$sn müsste sein: /test/catsbastel2/
Bei Dir ist $sn wohl: /catsbastel2/

Der richtige Quelltext wäre:

Code: Select all

<li class="Startseite___Aktuelles doc"><a href="/test/catsbastel2/?Startseite___Aktuelles">Aktuelles</a></li>
Ohne CMSimple Passwort für catbastel und catbastel2 wird es schwierig für mich, irgendwelche Erkenntnisse zu gewinnen,

Gert

Übrigens: Dein Problem hat nix mit dem Problem von Frank zu tun, bei dem läuft CMSimple hinter dem Proxy. Es funktionieren nur 2 Funktionen im Backend nicht, weil der Proxy das öffnen und auslesen von entfernten Darteien nicht erlaubt.
Gert Ebersbach | CMSimple | Templates - Plugins - Services
jensu62
Posts: 9
Joined: Sun 3. Dec 2023, 12:57
Location: Wiesbaden
Contact:

Re: cmsimple hinter einem Proxy möglich?

Post by jensu62 »

Die Seite hx.katzenjens.de ist der Proxy.
Die Seite test.katzenjens.de/catbastel und /catbastel2 sind jeweils die CMSimple Installationen gespiegelt. Passwort gab es per PN.
Für mich sieht das tatsächlich nach einem Bug aus, weil durch den Editor generierte lokale Links immer richtig sind. Leider fehlt mir das Hintergrundwissen zum Programm, um die Unterschiede zu finden, wie die Links zusammengebastelt werden. Sollte ja eigentlich in beiden Fällen gleich sein. Ist natürlich bisher nie aufgefallen, weil Browser und Webserver anscheinend fehlertolerant sind.

Bei Bedarf kann ich die Tage gerne mal eine Standard-CMSimple Seite aufsetzen inkl. Proxy zum testen. Dann bekommst du FTP-Zugangsdaten und Passwort per PN. So kannst du, wenn du Lust und Zeit hast, nach Herzenslust basteln. Alternativ Infos, wie man Proxy unter Apache konfiguriert und nutzt.

Viele Grüße,
Jens
Gert
Posts: 2092
Joined: Sun 18. Nov 2012, 14:18

Re: cmsimple hinter einem Proxy möglich?

Post by Gert »

Hallo Jens,

vielen Dank für das Passwort. Ich habe mich mal vorwiegend auf catsbastel2 konzentriert, weil da $sn nicht verbogen wird.

Das Problem ist der Unterschied zwischen der Adresszeile des Browsers und $sn, schau mal über dem Suchfeld:

https://hx.katzenjens.de/test/catsbastel2/

Wenn ich oben im Template $sn auf /test/catsbastel2/ setze, dann klappt es im Proxy, aber nicht mehr in der Subdomain.

Die Seite sollte so aufzurufen sein: https://hx.katzenjens.de/catsbastel2/ (also ohne test/), dann stimmt $sn auch wieder.

Vielleicht solltest Du eher an Deinem Proxy schrauben, und nicht an CMSimple ;)

Oder an den Subdomains. Könntest Du mal hier:

https://test.katzenjens.de/

ein komplettes CMSimple installieren, alles original, und das Passwort ändern auf das mir bekannte? Zur Zeit liegt da eine index.html.

Liegt der Inhalt von test.katzenjens.de eigentlich in einem Unterordner von katzenjens.de? So lege ich jedenfalls Subdomains an,

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Gert
Posts: 2092
Joined: Sun 18. Nov 2012, 14:18

Re: cmsimple hinter einem Proxy möglich?

Post by Gert »

Hallo Jens,

nach meinen Tests lassen sich Installationen mit Deiner Manipulation von $sl nicht mehr konfigurieren, Template, Stylesheet und Sprachdatei lassen sich nicht mehr speichern ... kannst Du das bestätigen? Hier ist mir das aufgefallen:

https://test.katzenjens.de/catsbastel/

Gert
Last edited by Gert on Mon 4. Dec 2023, 15:25, edited 1 time in total.
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Gert
Posts: 2092
Joined: Sun 18. Nov 2012, 14:18

Re: cmsimple hinter einem Proxy möglich?

Post by Gert »

Hallo Jens,

vermutlich 99% der CMSimple Anwender haben einen shared host, und wenn sie bereit sind, etwas zu bezahlen, ist der multidomainfähig und sie können Subdomains anlegen. Für die ist CMSimple gemacht. Ich sehe keinen Grund, warum ich Risiken eingehen sollte für die wenigen, die eigene Server oder Proxies betreiben.

Falls Du Deinen Proxy nicht so konfiguriert bekommst, dass es mit einem normalen CMSimple funktioniert, gibt es eine einfache Lösung. Einfach ganz oben in der template.htm, noch vor dem Doctype, folgende Zeile einfügen:

Code: Select all

<?php $sn='./';?>
Bei catsbastel2 habe ich das bereits gemacht, aber auskommentiert, damit Du die derzeitigen Probleme noch siehst.

Das ist auf jeden Fall besser, als an den Core Dateien zu herumzuspielen, bleibt aber ein Hack und ist keine Lösung ;)

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
jensu62
Posts: 9
Joined: Sun 3. Dec 2023, 12:57
Location: Wiesbaden
Contact:

Re: cmsimple hinter einem Proxy möglich?

Post by jensu62 »

Hallo Gert,

Das mit dem Hack in dem Template ist eine gute Idee, wenn es funktioniert. Besser als im Quellcode rumzumachen. Werde ich mal auf Herz und Nieren testen.
Mir hat das Thema ja keine Ruhe gelassen, vor allem, wenn WP und Joomla da auch extra Hack für sowas parat haben. Habe ich nicht verstanden, wieso. Weil eigentlich sollte, wenn man Links korrekt relativ verwendet, weder direkt noch über Proxy ein Problem auftauchen. Soviel zur Theorie. :D Und als ich dann diesen Beitrag gefunden habe https://serverfault.com/questions/56189 ... oxy#561897
war mir klar, dass ich da etwas großem auf der Spur bin. :o :lol: Und tatsächlich, wie du auch schon vorgeschlagen hattest, wird dort auch von einigen empfohlen, das in der Config des Proxies abzufangen. Andere wiederum sagen, die Ersteller der Apps sind für anständige Links zuständig.

Das einige, was mich beim CMSimple wundert ist die Tatsache, dass erstellte Links zu den Seiten, wenn man sie im Editor schreibt, einwandfrei aufgelöst werden während im Menu es anders verlinkt ist. Aber das ist ja reine Kosmetik, solange es direkt über Browser funktioniert. Wer mehr braucht, landet bei der Suche hoffentlich auf diesem Beitrag und kann es für sich anpassen.

Ja, alles relativ... vor allem die Links. 8-) Und wieder etwas gelernt...
Danke für die Arbeit. Und für die stetige Anpassung von CMSimple an neue Gegebenheiten.

Edit: Habe meinen Hack rausgenommen und Deinen in dem Template aktiviert. Läuft super, und auch das Editieren des Templates geht so wieder. Hatte mein Hack doch einen Seiteneffekt. Danke nochmal. Nun steht auch der Containerisierung von CMSimple nix mehr im Weg.

Viele Grüße,
Jens
Post Reply