Hallo zusammen,
ich möchte eine Momentaufnahme meiner IPCAM in fhem darstellen. Mit iframe hat das auch ganz gut geklappt.
Nun zu meinem Problem:
Ich bekomme nur ein Bild angezeigt, solange ich im Heimnetzwerk bin. Sobald am Smartfon das WLAN aausschalte und aus dem Inet auf meinem fhem server zugreife, bleibt der "Rahmen" in dem das Bild angezeigt werden sollte leer.
Jemand ne Idee woran das liegen kann? Ein Zugriff ohne fhem, also auf das Webinterface der Kamera (und das Kamerabild) aus dem Internet funktioniert hingegen wieder wunderbar.
In der fhem.cfg habe ich die lokale IP der CAM eingetragen. Das ist doch richtig, oder?
Weil der iframe auf deinen interne adresse oderden hostname der cam verweist. Der ist von aussen nicht erreihbar.
du kannst:
-die cam von aussen erreichbarnmachen (dyn dns-adresse zb) und den iframe mit dieser adresse einbinden.
-per ipcam modul einfach alle paar minuten einen screenshot machen und den in fhem einbinden
-einen proxy vor fhem setzen (hier bin ich mir nicht zu 100% sicher)
Zitat von: chris1284 am 09 Januar 2015, 19:47:12
Weil der iframe auf deinen interne adresse oderden hostname der cam verweist. Der ist von aussen nicht erreihbar.
Guter Punkt, da blicke ich nicht ganz durch... Ich greife von aussen auf meinen "Heim-Server" zu, auf dem FHEM läuft. Für diesen Heim-Server (auf dem iframe läuft) ist die CAM aber doch im Heimnetzwerk?
Oder ist es speziell jetzt bei iframe so, dass es erst beim Aufruf vom Browser ausgeführt wird und nicht bereits von fhem auf dem Server "ausgeführt" wird? ... Dann wärs logisch :)
Das IFrame ist nur ein "Link", auf den der Browser direkt zugreift. Der Heimserver bedient diesen Link ja nicht.
Von ausserhalb ist zwar Dein Heimserver erreichbar, die (interne) Kamera aber nicht.
Du löst es am besten, indem Du auf Deinem Heimserver einen Proxy für die Kamera einrichtest und diese Adresse (die auch von "aussen" erreichbar sein muss) im IFrame einbindest.
Dabei am besten natürlich auch ein AUTH-Mechanismus dabei haben.
Danke für den Tip, kannst du mir in kurzen Worten erklären wie das funktioniert? Was genau macht der Proxy?
Ein Proxy ist quasi ein Vermittler. Nimmt auf der einen Seite Anfragen auf, leitet sie an den tatsächlichen Empfänger weiter und gibt dessen Antwort an den ursprünglichen Anfrager.
Ungefähr so, wie NAT bei den Routern funktioniert. Hier brauchst Du das für HTML. Apache kann sowas zum Beispiel.
Ich kenn' Dein Setup nicht, von daher sind Details schwer.
Bei mir steht für fhem (der nur auf einem internen Host läuft) in der Apache-Config u.a. folgendes:
ProxyPass /fhem http://wirepi:8083/fhem
ProxyPassReverse http://wirepi:8083/fhem
ProxyHTMLURLMap / /fhem/
ProxyHTMLURLMap /fhem/ /fhem/
(Natürlich ist da noch mehr wg. Authentifizierung und so)
Hmm, so ganz verstanden habe ich das noch nicht?! Sorry :-)
Aber ich habe Ubuntu Server... Apache Server läuft darauf auch bereits...
Den Apache Server kann ich auch übers Internet erreichen, also die Website die darauf liegt.
Achso... und jetzt müsste quasi die Cam mit dem Apache "bekannt gemacht" werden... und dann soll beim Aufruf meiner Webadresse mit ensprechendem Port auf die Cam weitergeleitet werden?
Genau. Ein extra Port ist nicht zwingend, aber auch das ist ein Weg nach Rom.
Recherchier mal nach den Parametern des Apache oben.
super danke... denke das bekomm ich jetzt irgendwie hin!
nimm doch einfach die anleitung im wiki :D bis tep 3) ist genau das was du sucht. im unteren teil der config von step drei und darüber hinaus gehts dann um authentifizierung .
ist halt die frage was du da verwenden willst. ich habe mich zb für clientzertifikate entschieden
step 2 kannst du auch weg lassen sonst musst du intern auch immer über den proxy gehen
http://www.fhemwiki.de/wiki/Apache_Authentication_Proxy
prima! Danke für den Tip!
Hat soweit geklappt, fhem läuft jetzt auch über den Proxy...
Nur ich habe genau das Problem, wie im Wiki beschrieben, Apache meckert über den ProxyHTMLURL Eintrag. Den brauche ich aber für die WebCam. Die angesprochenen Pakete sind auch installiert.
Bei Apache2 bzw. Ubuntu scheint das bisschen anders zu laufen. Jemand ne Idee?
2. Frage: Ich hatte vorher FHEM mit https abgesichert. Nun über den Proxy habe ich ja eine Auth. meint ihr das ist dann ausreichend und ich kann https abschalten? Zweimal Passwort eingeben möchte ich nicht.
3. und letzte... Ich kann mich nicht aus meinem Heimnetzwerk über die öffentliche URL erreichen. Aus dem öffentlichen Netz ist das kein Problem. Wieso ist das so? Wenn ich mit meinem Smartfon im WLAN bin gibts Probleme, die ich ohne WLAN nicht habe. Habe gelesen, dass der Provider genau dies unterbindet, also ein Routen auf die eigene IP nicht möglich ist?! Stichwort IP-Spoofing... aber warum sollten die Daten überhaupt den Router verlassen? Irgendwas scheint falsch konfiguriert (DNS?), oder?
Danke für eure Hilfe!
Zu 1
Hast Du die Proxy-Module eingeschaltet?
In der /etc/apache2/mods-enabled/proxy.conf steht bei mir folgendes:
<IfModule mod_proxy.c>
# If you want to use apache2 as a forward proxy, uncomment the
# 'ProxyRequests On' line and the <Proxy *> block below.
# WARNING: Be careful to restrict access inside the <Proxy *> block.
# Open proxy servers are dangerous both to your network and to the
# Internet at large.
#
# If you only want to use apache2 as a reverse proxy/gateway in
# front of some web application server, you DON'T need
# 'ProxyRequests On'.
ProxyRequests Off
SetOutputFilter INFLATE;proxy-html;DEFLATE
SSLProxyEngine On
</IfModule>
Zu 2
https unbedingt an lassen. Erst https sichert die Verbindung auf der Strecke von Deinem Heimserver zum Browser ab - dazu brauchst Du kein Passwort eingeben ("Transportsicherung"). Mit Auth in fhem sicherst Du dann fhem selbst vor unberechtigten Zugriffen ab ("Zugriffssicherung").
ZU 3
Das ist ein routing-Thema in Deinem Heimnetz. Der Router/DSL-/Kabelmodem läßt es vermutlich nicht zu.
zu 3
Das liegt schon am Provider.
Viele Provider blockieren dieses sogenannte "NAT-Loopback", also daß man seine eigene
externe Adresse von seinem lokalen Anschluß aus aufrufen kann.
Gruß
Danke für eure Hilfe!
Das mit dem IP routing ist natürlich doof und erklärt einiges... so bekomme ich es mit dem iframe trotz proxy nicht hin.
Kann mich nur entscheiden ob es im Localen Netz oder Internet funktioniert...
Dann kannst Du aber immer noch im Heimnetz unter der "Heimnetzadresse" zugreifen und wenn Du unterwegs bist "dyn-dns-Adresse".
Mein Server ist intern unter "server.fritz.box" und von aussen via öffentlichem Hostname erreichbar.
Ja das is klar... bei fhem selbst ist das unkritisch. Aber ich möchte ja in dem iframe meine IPCAM anzeigen lassen, da muss ich mich festlegen ob es im Heimnetz funktioniert, oder wenn ich im WWW bin. Je nach dem muss ich den entsprechenden Link eintragen.
Wegen dem IP routing wäre es schon ein Grund den Internet Provider zu wechseln.
Das ganze Thema hier ist schon kompliziert... wenn man wie ich keine Ahnung hat... jetzt wollte ich grade von dem funktionierenden http proxy fhem auf https umstellen... und bin schon wieder drei stunden am lesen. Sooo einfach ist das jetzt scheinbar auch wieder nicht :-(
//EDIT: habe gerade ne FritzBox bestellt... den gemieteten Speedport gebe ich zurück... dann sollte es klappen ;-)
Wenn du die dann hast, kannst du das alles ganz easy mit dem Fritzbox- VPN- Zugang machen. Ist mit halbwegs aktuellen Android- Smartphones ganz leicht einzurichten. Dann brauchst du auch kein Apache, Proxy, https, FHEM- Zugangspasswort mehr. Du hast dann zu Hause und unterwegs (mit verbundenem VPN) die geichen Verhältnisse und durch den VPN auch höchste Sicherheit.
Gruß
Frank
Zitat von: Leinad am 10 Januar 2015, 23:16:04
gerade ne FritzBox bestellt... den gemieteten Speedport gebe ich zurück... dann sollte es klappen ;-)
du hättets auch einfach über nen webproxy gehen können zum testen.... (firefox addon best proxy switcher zb) oder am smartphone kurz wlan aus
Zitat von: Leinad am 10 Januar 2015, 23:16:04
Wegen dem IP routing wäre es schon ein Grund den Internet Provider zu wechseln.
nein da es am router liegt ( in der regel).
Zitat von: bergadler am 10 Januar 2015, 22:01:21
zu 3
Das liegt schon am Provider.
nicht unbedingt.... ehr am router und den vorkonfigurierten regeln