https und http mischen über redirect-website auf fhem server

Begonnen von rasti, 30 Mai 2015, 14:16:54

Vorheriges Thema - Nächstes Thema

rasti


Hallo,

fhem läuft bei mir als https . Ich möchte aber per weblink iframe auch http-Seiten einbinden.
Eigentlich geht das Mischen von http iund https auf einer Seite nicht, es wird ein leerer Frame angezeigt.

Unter http://stackoverflow.com/questions/18327314/how-to-allow-http-content-within-an-iframe-on-a-https-site ist ein Workaround beschrieben.....

Konkret auf mein Problem angewendet heisst das:
auf     https://192.168.178.6:8084/fhem?room=Music     liegt mein iframe weblink, der auf
https://192.168.178.6:8084/???????????/redirect.html verweist.

redirect.html enthält eine einzige Zeile in js
document.location.href ="http://192.168.178.5.";

Auf http://192.168.178.5 liegt eben mein Musik-Server.
(müsste dann auch mit allen anderen externen http Seiten gehen)

Frage, geht das so ?
Wenn ja wo im FHEM/Rasbian Verzeichnis /???????????/
muss ich die Datei redirect.html ablegen, damit ich drauf zugreifen kann ?
Momentan komme ich egal wo/was ich irgendwo ablege, immer auf die FHEM Hauptseite.

Gruss

Ralf

Wernieman

In dem Falle ist ein anderes Vorgehen besser:

Läuft auf Deinem Server auch ein apache?

d.h. dann dem apache beibringen, das er FHEM per "proxy" aufruft und auch Deinen zusätzlichen http-Seiten. Dann geht alles on Deinem "Anzeigedevice" über den apache-Proxy ... wenn der Server genug "Power" hat, d.h. kein RasPi ist, läuft dieses optimal (z.B. bei mir)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rasti

#2
Hallo,

der Musicserver ist Runeaudio, der läuft mit nginx unter archlinux, kein apache.
Fhem und Runeaudio laufen beide jeweils auf einem Raspberry Pi B.

Ich verstehe auch nicht was du sagen willst mit
"apache beibringen, das er FHEM per "proxy" aufruft"....

Was ich machen will ist, ist einfach in FHEM über einen weblink iframe diesen Musicserver einzubinden.
Fhem ist https, rune ist http, iframe liefert mir deswegen leere Frames.
Wenn ich fhem unter http betreibe, geht es einwandfrei.

Ich könnte den Musicserver auf https umstellen, dann kann aber nicht mehr jeder im Hausnetz
drauf, zudem dachte ich dass die Redirect-Lösung hier elegant wäre und nicht nur für mich interssant, sondern für alle, die eine normale interne oder auch externe http seite per iframe in fhem einbinden
wollen.

Also so:

#############################
# Rune iframe
###########################

define RUNE weblink iframe http://192.168.178.5/
attr RUNE htmlattr width="750" height="600" frameborder="0" marginheight="0"
attr RUNE room Music

Gruss

Ralf


Wernieman

Auch ngix kann als "proxy" funktionieren, d.h. Du ruft nicht fhem direkt, sondern über apache, bzw. bei dir ngix auf. Dadurch kann aber der Web-Server auch andere Datenströme einmixen, d.h. http in https kapseln. verstanden?

Wie man aber ngix als proxy konfiguriert ... google sollte helfen ;o)

Edit:
Es ist kein fhem, sondern ein lokales Browser-Problem. Die meiten aktuellen Browser akzeptieren in Frames kein Switch von https und http ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rasti

Hallo,

dass das kein FHEM Problem sondern browserbedingt ist, ist mir klar !

Deinen Lösungsvorschlag verstehe ich noch nicht wirklich, liegt wahrscheinlich an
meinen mangelhaften Linux-Kenntnissen. Ich nehme aber mal an, dass deine
Lösung vorraussetzt, dass immer beide Server an sind. Sind sie aber nicht,
(möchte ich auch nicht )nur der FHEM-Raspi läuft 24h durch.

Wie sieht's denn mit meinem erstgenannten Vorschlag aus, einfach eine
https Seite auf dem fhem raspi aufzurufen, die per js auf eine andere Seite verweist ?

Gruss

Ralf

Wernieman

Viele Wege führen nach Rom ... nur kenne ich mich mit js nicht aus ;o)

Und da mein FHEM auf meinem "Haus-Web-Server" liegt ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rasti

ich habe es nun mit einem Redirect im Metatag realisiert.

Aufgerufen wird https://192.168.178.6:8084/fhem/redirect/1.html

1.html liegt im Verzeichnis www/redirect/ und hat als Inhalt
<meta http-equiv="refresh" content="0; URL='http://192.168.178.5'" >

in fhem.cfg steht also
define MUSICPLAYER weblink iframe https://192.168.178.6:8084/fhem/redirect/1.html
attr MUSICPLAYER htmlattr zoom="50%" width="700" height="400" frameborder="0" marginheight="0"
attr MUSICPLAYER room Music

Geht im Prinzip, zumindest am Tablet mit meinem Boat-Browser, den ich nutze.
Firefox unter Windows will gar nicht Safari und Opera unter Windows geht bedingt.

Ich würde jetzt noch gerne den Inhalt des Frames verkleinern, dachte das geht mit
dem Zoom Attribut aber egal wie ich das eingebe "50%" oder "50" oder "0,5" sieht es immer gleich aus....
Weiss da jemand Rat ?

Gruss

Ralf