Webinterface via Apache

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
klez
Einsteiger
Einsteiger
Beiträge: 112
Registriert: Sonntag 15. Dezember 2002, 17:43

Webinterface via Apache

Beitrag von klez »

Ich wollte mal nachfragen, ob es irgendwie möglich ist, daß webinterface der Dbox über Apache ins Internet zu bringen.

Zu diesem Zweck habe ich das Modul mod_proxy installiert und es funktioniert auch.
In die Apache Config habe ich folgende Direktive eingetragen:

ProxyPass /dbox http://ip-der-dbox/
ProxyPassReverse /dbox http://ip-der-dbox/

Nach einem Aufruf im Browser sehe ich die korrekte Frameaufteilung des Webinterfaces, aber sonst nichts ausser Fehler, daß er /fb/xxx.dbox2 nicht auf dem Webserver finden kann. Das ist auch logisch, aber ich dachte Apache würde durch das Modul lediglich als Proxy fungieren ?!

Muß ich noch etwas zusätzliches Eintragen damit es funktioniert ?
Und wenn ja: Kann ich das Interface über Apache Funktionen vor unberechtigtem Zugriff schützen (login und passwort) ?

Ich könnte das Webinterface auch durch PAT auf einen anderen Port ins Internet bringen, aber auf diese Art will ich es eben nicht.

Kann mir jemand weiterhelfen ?
chrisisflat
Einsteiger
Einsteiger
Beiträge: 122
Registriert: Dienstag 20. Mai 2003, 19:40

Beitrag von chrisisflat »

Hi,

ich hab das mittels der Rewrite Engine vom Apache gemacht:

Code: Alles auswählen

RewriteEngine on
RewriteRule /dbox2      http://192.168.0.101/$1 [P,L]

RewriteRule /fb/(channellist.*) http://192.168.0.101/fb/$1 [P,L]
RewriteRule /fb/(bouquetlist.*) http://192.168.0.101/fb/$1 [P,L]
RewriteRule /fb/(controlpanel.*)        http://192.168.0.101/fb/$1 [P,L]
RewriteRule /(global.css)       http://192.168.0.101/$1 [P,L]
RewriteRule /fb/(switch.dbox2)  http://192.168.0.101/fb/$1 [P,L]
RewriteRule /fb/(timer.dbox2)   http://192.168.0.101/fb/$1 [P,L]
RewriteRule /fb/(epg.dbox2)     http://192.168.0.101/fb/$1 [P,L]
RewriteRule /fb/(info.dbox2)    http://192.168.0.101/fb/$1 [P,L]

RewriteRule /images/(streaminfo.png)    http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(record.gif)        http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(elist.gif) http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(timer.gif) http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(blank.gif) http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_bg01.jpg)       http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_shutdown01.jpg) http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_shutdown00.jpg) http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_standby01.jpg)  http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_standby00.jpg)  http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_ngani.gif)      http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_lsminus01.jpg)  http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_lsminus00.jpg)  http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_lsplus01.jpg)   http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_lsplus00.jpg)   http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_mute00.jpg)     http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_mute01.jpg)     http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_tvmode01.jpg)   http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_tvmode00.jpg)   http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_radiomode00.jpg) http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_radiomode01.jpg) http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_timer00.jpg) http://192.168.0.101/images/$1 [P,L]
RewriteRule /images/(if_timer01.jpg) http://192.168.0.101/images/$1 [P,L]
wobei das ganze dann über http://meinapache/dbox abrufbar ist und die IP der DBox die 192.168.0.101 ist

Gruß

Chris
klez
Einsteiger
Einsteiger
Beiträge: 112
Registriert: Sonntag 15. Dezember 2002, 17:43

Beitrag von klez »

Das ganze funktioniert zwar, allerdings habe ich keine Ahnung, wie ich das mit einem Login und PW über Apache schützen kann. Der Passwort-Schutz von Neutrino selbst reicht mir nicht. Ein nicht Authentifizierter Benutzer soll gar nicht erst das EPG sehen können.

Daher wollte ich nochmal nachfragen, ob jemand da eine Idee hat ?

Ansonsten muß ich wohl das Neutrino Interface n PHP "nachbauen".
klez
Einsteiger
Einsteiger
Beiträge: 112
Registriert: Sonntag 15. Dezember 2002, 17:43

Beitrag von klez »

Hi.
Ich bin gerade dabei sowas zu basteln.
Das einzige was ich noch bräuchte wäre eine kleine Information :)

Was gibt es alles in http://ip-der-box/control

Das epg das aktuelle epg ausgibt u.s.w. weiss ich schon. Wollte jetzt nur wissen, was da sonst noch alles als Interface vorhanden ist.

**Update**
Ok vergessts. Habs schon gefunden :)
Southpark99
Neugieriger
Neugieriger
Beiträge: 11
Registriert: Montag 10. November 2003, 16:05

Beitrag von Southpark99 »

Hallo,

weiß jemand ob es sowas auch für den IIS6 gibt?
klez
Einsteiger
Einsteiger
Beiträge: 112
Registriert: Sonntag 15. Dezember 2002, 17:43

Beitrag von klez »

Hi.
Da ich das ganze in PHP schreibe und es das meines wissens auch für den IIE gibt, dürfte es kein Problem sein, es auch dort zu verwenden.

Zur Not kannst Du etwas ähnliches auch in ASP umsetzen. Die Schnittstelle der Dbox bleibt davon ja unabhängig.
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

Southpark99 hat geschrieben:Hallo,

weiß jemand ob es sowas auch für den IIS6 gibt?

... installier "mod_rewrite" auf dem IIS6 :roll:
*ichweissdaswargemein*


Aber mal so die oberen Posts betrachtet, so kann man das Apache-Konfig locker mal optimieren:


mod_rewrite

Code: Alles auswählen

RewriteEngine on
RewriteRule /dbox2            http://192.168.0.101/$1 [P,L]

RewriteRule /fb/(.*)           http://192.168.0.101/fb/$1 [P,L]
RewriteRule /(global.css)    http://192.168.0.101/$1 [P,L]
RewriteRule /images/(.*)    http://192.168.0.101/images/$1 [P,L] 



oder mod_proxy - Modul

Code: Alles auswählen


ProxyPass             /fb/            http://192.168.0.101/fb/
ProxyPassReverse /fb/            http://192.168.0.101/fb/
ProxyPass             /images/    http://192.168.0.101/images/
ProxyPassReverse /images/        http://192.168.0.101/images/ 
RewriteRule          /global.css      http://192.168.0.101/global.css



so im Prinzip und ohne Gewaehr.
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Ach ja: Passwortschutz im Apache über die .htaccess (Stichwort Basic Authentication) oder direkt in der apache.conf angeben. Du kannst das auch alles über eine <Location> machen. Also sowas in der Art wie

Code: Alles auswählen

RewriteEngine on 
RewriteRule /dbox2            http://192.168.0.101/$1 [P,L] 

RewriteRule /fb/(.*)           http://192.168.0.101/fb/$1 [P,L] 
RewriteRule /(global.css)    http://192.168.0.101/$1 [P,L] 
RewriteRule /images/(.*)    http://192.168.0.101/images/$1 [P,L]

<Location /dbox2>
    AuthName "dbox2"
    AuthType Basic
    AuthUserFile /foo/bar/passwd
    require user bla
</Location>
Dann nur noch im password-File den User mit passwort mittels htpasswd anlegen und gut ist (siehe auch hier: http://httpd.apache.org/docs-2.0/howto/auth.html).

Sollte klappen, hab ich selber aber nicht ausprobiert weil ich einen OpenVPN-Tunnel zu meinem Router habe. :-)
suse_rulez
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Freitag 6. September 2002, 15:32

Beitrag von suse_rulez »

Hallo-nach genau so etwas suche ich schon lange! Ich habe meine Appache-Config wie beschrieben um folgende Zeilen ergänzt:

Code: Alles auswählen

RewriteEngine on
RewriteRule /dbox2            http://dbox/$1 [P,L]

RewriteRule /fb/(.*)           http://dbox/fb/$1 [P,L]
RewriteRule /(global.css)    http://dbox/$1 [P,L]
RewriteRule /images/(.*)    http://dbox/images/$1 [P,L]
Wenn ich nun auf http://mein_appache/dbox2/ gehe bekommen ich eine 403 Fehlermeldung für mangelnde Berechtigung.

Es ist jedoch keinerleid Zugriffsschutz aktiviert.

Wo könnte der Fehler liegen?
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Was sagt denn das Apache-Log (access_log und error_log heißen die meine ich unter SuSE)?
suse_rulez
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Freitag 6. September 2002, 15:32

Beitrag von suse_rulez »

Das alle auf Grund des Nicks immer darauf schließen müssen das hätte was mit Novell zu tun...
Wie dem auch sei.. acces_log sagt mir folgendes:

Code: Alles auswählen

bomba - - [27/Apr/2005:18:41:07 +0200] "GET /dbox2 HTTP/1.1" 403 290 "-" "Opera/8.0 (Windows NT 5.1; U; de)"
Was mir nicht viel sagt....

error_log meint jenes:
[Wed Apr 27 18:47:59 2005] [error] [client 192.168.2.100] attempt to make remote request from mod_rewrite without proxy enabled: proxy:http://dbox/
Wenn ich das richtig intpretiere braucht er den mod_proxy ebenfalls? Ich hatte das als entweder/oder verstanden....
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

jo scheinbar, bei der Rule [P,L] heisst das ausgeschrieben [Proxy, LastRule]

R fuer Redirect-Rule geht ja nicht, da ansonsten der Request umgeschrieben und an den Browser fuer einen Redirect zurueckgesendet wird.
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Ack.
suse_rulez
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Freitag 6. September 2002, 15:32

Beitrag von suse_rulez »

Tatwarhaftig-kaum bestückt man den Apache zusätzlich noch mit dem mod_proxy funktionierts!
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so

RewriteEngine on
RewriteRule /dbox2 http://dbox/$1 [P,L]

RewriteRule /fb/(.*) http://dbox/fb/$1 [P,L]
RewriteRule /(global.css) http://dbox/$1 [P,L]
RewriteRule /images/(.*) http://dbox/images/$1 [P,L]
Besten Dank!
ReneK
Beiträge: 1
Registriert: Sonntag 25. September 2005, 14:59

y-web und apache

Beitrag von ReneK »

Hallo zusammen...

diese Prozedur hat super funktioniert (und musste auch nicht viel für den Mac angepasst werden). Aber nun hat sich mit y-web anscheinend einiges geändert und ich vermute, die angegebenen Verzeichnisse stimmen nicht mehr.

Hat schon jemand eine angepasste Version? Oder eine Idee was man ändern muss?


Gruß und vielen Dank

ReneK
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 13:28

Beitrag von MarcM »

Hi,

bei mir funktioniert folgendes schon seit längerer Zeit.... :

Code: Alles auswählen

RewriteEngine on
RewriteRule ^/dbox$ /dbox/ [R,L]
RewriteRule ^/dbox/(.*)$ http://192.168.1.23/$1 [P,L]
RewriteCond %{HTTP_REFERER} ^https?://[^/]+/dbox/
RewriteRule ^/(.*)$ /dbox/$1 [R,L]
Greetz
Marc