FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: spi3845 am 05 Mai 2019, 12:55:42

Titel: FTUI-Seiten per FTUISRV auf Apache hosten?
Beitrag von: spi3845 am 05 Mai 2019, 12:55:42
Ich teste gerade verschieden Reverse Proxy Setups. Im großen und ganzen funktioniert das per nginx oder Apache auch mit Client-Zertifikaten. Ein reines Durchleiten jeglichen Traffics an fhem funktioniert auch mit FTUISRV (Apache oder nginx als reiner Reverse Proxy), mir geht es hier aber tatsächlich um das Hosten von FTUI per Webserver, um Last von fhem zu nehmen.

Worüber ich jedoch gestolpert bin, ist das Ausliefern von FTUI per Apache (oder nginx), wenn FTUISRV verwendet wird. Bei "statischen" Dateien liefert der Webserver FTUI sauber aus. Verwende ich jedoch FTUISRV um mittels part-Dateien Templates einzubinden, dann funktioniert das ganze nicht mehr.

Mein Verständnis ist, dass FTUISRV sich in fhem in den HTTPSRV-Prozess einklinkt, die Templates in die auszuliefernden html-Dateien einarbeitet und diese dann von HTTPSRV ausgeliefert werden, also etwa in der Art:

Client-Browser <--> fhem:8083 <--> HTTPSRV <--> FTUISRV <--> *.html und *.part

Wenn ein Webbroser (z. B. Apache) FTUI ausliefert, dann ist die Kommunikation dieser Art:

Client-Browser <--> apache:443 <--> lokal: *.html und *.part (1)
                               <--> Rev. Proxy: weiterleiten an /fhem <--> fhem:8083 <--> HTTPSRV (2)


Apache kann mit den *.part-Dateien in (1) nichts anfangen.
Und bei (2) werden überhaupt keine html-Dateien ausgeliefert, da dieser Weg nur zur Steuerung der Geräte in fhem verwendet wird.

Gibt es vielleicht doch einen Weg, FTUISRV zu verwenden, auch wenn ein Webserver FTUI hostet?
Titel: Antw:FTUI-Seiten per FTUISRV auf Apache hosten?
Beitrag von: viegener am 06 Mai 2019, 09:24:32
HTTPSRV spielt hier keine Rolle. FTUISRV arbeitet mit FHEMWEB zusammen.

FTUISRV sollte an dieser Stelle eigentlich keinen Unterschied machen und part-Dateien verlassen den FHEM-Server überhaupt nicht, deshalb muss der Apache damit nicht umgehen. Er bekommt gültige URLs zu sehen und die werden von FHEMWEB (in Zusammenarbeit mit FTUISRV) beantwortet.

Also mit anderen Worten: Was von FHEM kommt ist HTML (oder natürlich Bilder etc) und nach aussen ist FTUISRV nicht sichtbar, das passiert alles innerhalb von FHEM, deshalb auch keine direkte Auswirkung auf einen reverse proxy davor.

FTUISRV hat (und braucht) auch keinen eigenen Port, da einfach ein bestimmter Teil des URLs (siehe konfiguration von FTUISRV) von FHEMWEB an FTUISRV zur Bearbeitung weitergegeben wird.

Mein URL sieht zum Beispiel so aus:
http://pitest:8083/fhem/ftuitest/#room_home.ftui.html (http://pitest:8083/fhem/ftuitest/#room_home.ftui.html)

Dies ist zumindest erstmal ein URL, den auch Apache einfach weiterreichen sollte (natürlich mit anderem server).

Aber bevor ich hier noch läner schreibe, wäre es vielleicht gut zu hören, was eigentlich das Problem ist und was nicht funktioniert (und natürlich wie es konfiguriert ist)?
Titel: Antw:FTUI-Seiten per FTUISRV auf Apache hosten?
Beitrag von: spi3845 am 06 Mai 2019, 11:45:03
Zitat von: viegener am 06 Mai 2019, 09:24:32
HTTPSRV spielt hier keine Rolle. FTUISRV arbeitet mit FHEMWEB zusammen.

FTUISRV sollte an dieser Stelle eigentlich keinen Unterschied machen und part-Dateien verlassen den FHEM-Server überhaupt nicht, deshalb muss der Apache damit nicht umgehen. Er bekommt gültige URLs zu sehen und die werden von FHEMWEB (in Zusammenarbeit mit FTUISRV) beantwortet.

Also mit anderen Worten: Was von FHEM kommt ist HTML (oder natürlich Bilder etc) und nach aussen ist FTUISRV nicht sichtbar, das passiert alles innerhalb von FHEM, deshalb auch keine direkte Auswirkung auf einen reverse proxy davor.
Das stimm, solange der Reverse Proxy einfach alles stur an fhem weiterleitet. Das hatte ich ja in meinem Eigangssatz geschrieben.

Zitat von: viegener am 06 Mai 2019, 09:24:32
Aber bevor ich hier noch läner schreibe, wäre es vielleicht gut zu hören, was eigentlich das Problem ist und was nicht funktioniert (und natürlich wie es konfiguriert ist)?
Wenn Apache FTUI hostet, also die FTUI-Seiten ausliefern soll (DocumentRoot zeigt auf das Verzeichnis, in dem die FTUI-Dateien liegen), funktioniert das nur, wenn die Seiten "statisch" sind in dem Sinne, dass part-Dateien nicht verwendet werden. Werden part-Dateien verwendet werden, kann Apache damit nichts anfangen und setzt sie auch nicht zusammen.

Mein Verständnis ist, dass wenn part-Dateien mit FTUISRV verwendet werden sollen, dann muss fhem die Seiten ausliefern, da sie sonst von FTUISRV nicht zusammengesetzt werden können.

Meine Frage bezog sich also darauf, ob es möglich ist, dass Apache die FTUI-Seiten hostet (also an den Client ausliefert und nicht einfach als Reverse Proxy an fhem weiterleitet) und trotzdem FTUISRV verwendet werden kann.
Titel: Antw:FTUI-Seiten per FTUISRV auf Apache hosten?
Beitrag von: viegener am 13 Mai 2019, 09:26:18
Zitat von: spi3845 am 06 Mai 2019, 11:45:03

Mein Verständnis ist, dass wenn part-Dateien mit FTUISRV verwendet werden sollen, dann muss fhem die Seiten ausliefern, da sie sonst von FTUISRV nicht zusammengesetzt werden können.

Meine Frage bezog sich also darauf, ob es möglich ist, dass Apache die FTUI-Seiten hostet (also an den Client ausliefert und nicht einfach als Reverse Proxy an fhem weiterleitet) und trotzdem FTUISRV verwendet werden kann.

Das kann wirklich nicht funktionieren, da es sich ja um berechnete Seiten handelt und die Berechnung kann nur innerhalb von FHEM also innerhalb von perl stattfinden. Die part-Seiten werden ja eigentlich nicht ausgeliefert sonden in FHEM vom Filesystem geladen und verarbeitet. Du kannst ja auch FHEMWeb nicht innerhalb von Apache hosten, da auch diese von FHEM berechnet werden.
Titel: Antw:FTUI-Seiten per FTUISRV auf Apache hosten?
Beitrag von: spi3845 am 13 Mai 2019, 10:02:39
Danke für die Klarstellung!