Jump to content

How-To: RS Webinterface in IIS 6 "einbinden" z.B. beim WHS


Frotzamuta

Recommended Posts

Hallo,

ich möchte euch gerne meine Lösung präsentieren, wie man das Webinterface des RS in den IIS 6 "einbinden" kann. Wenn man z.B. einen Windows Homeserver nutzt kann man dann das Webinterface über http://[name].homeserver.com/tv erreichen und muss nicht über http://[name].homeserver.com:8089 gehen.

 

Was wird benötigt?

  • Ionics Isapi Rewrite Filter 2.1 (Info | Download)
  • Server mit IIS 6 (zB WHS)
  • RS Webinterface auf dem gleichen Rechner und auf Port 8089, ansonsten ggf unten den Code anpassen

 

Was muss man tun?

  1. IIRF installieren

    1. die oben angegebene Datei herunterladen und auf den Server kopieren
    2. das Setup auf den Server ausführen. Man kann alles lassen wie es ist und bei der Auswahl die zu verwendende Webseite auswählen.
    3. das sollte es gewesen sein. Falls man noch andere Webseiten hiermit nutzen will kann es vielleicht nötig sein hierSchritt 10 durchzuführen

[*]Im Rootverzeichnis (zB c:\inetpub\wwwroot) eine Datei namens IIRF.ini erstellen

[*]Folgenden Inhalt in diese Datei schreiben



RewriteRule ^/tv /tv/ [i]
ProxyPass ^/tv/(.*)$ http://localhost:8089/$1
ProxyPassReverse /tv/ http://localhost:8089/

[*]Das sollte es schon gewesen sein. Wenn ihr jetzt auf http://deinServer/tv browst sollte das Webinterface des RS erscheinen, wenn nicht habt ihr oder ich, in meiner Anleitung, etwas falsch gemacht.

[*]Man kann in die IIRF.ini auch noch weitere Regeln einbringen um andere Webseiten unter der eigenen Domain erreichbar zu machen.

Link to comment
  • 6 months later...

Funktioniert bei dir auch weiterhin das Streamen über das Webinterface?

 

Ich benutze auf meinem WHS2011 URLRewrite2.0. Hier funktioniert alles super außer das Streamen. Der FlowPlayer meldet, dass er die stream.flv nicht findet.

Link to comment

ALternativ kann man ein HTML erstellen und den RS darin in einen frame packen.

 

das bringt mir aber nichts, da ich dann wieder eine Port Weiterleitung von außen machen muss.

 

Ich habe es jetzt übrigens geschafft das WebInterface in IIS7.5 unter WHS2011 einzubinden. Werde dieses WE dafür auch noch ein Tut schreiben.

Link to comment

Das wäre klasse.

 

Ich habe das ganze auch unter dem IIS7 ausprobiert und bin auf die gleichen Probleme gestoßen.

 

Meine Versuche unter dem IIS sind aber nicht erfolgreich gewesen!

 

 

Gruß

 

Jette

Link to comment

Folgenden Inhalt in diese Datei schreiben

RewriteRule        ^/tv          /tv/   [i]
ProxyPass          ^/tv/(.*)$    http://localhost:8089/$1
ProxyPassReverse    /tv/         http://localhost:8089/

 

RewriteRule und die ProxyPass-Regeln sind eigentlich unterschiedliche Methoden der Umleitung. Es sollte auch so gehen:

 

RewriteEngine on
RewriteRule ^/tv/(.*) http://localhost:8089/$1 [P]

 

Das [P] ist entscheidend. Diese Konfig läuft bei mir mit einem Apache Webserver auf meinem NAS.

Edited by dbraner
Link to comment

Das sieht mit dem IIS7 allerdings etwas anders aus.

Ich habe folgende web.config bei mir am laufen:

 

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name="ReverseProxyInboundRule1" stopProcessing="false">

<match url="(.*)" />

<action type="Rewrite" url="http://"IP-Adresse":8089/{R:1}" appendQueryString="true" />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

 

Klappt ja auch soweit ganz gut. Das Streamen allerdings nicht!

 

Gruß

 

Jette

Link to comment
  • 2 weeks later...

@DerThommy: Hast DU schon Zeit gehabt Dein Tut. zu schreiben?

 

Ich könnte das Streamen per IIS gut gebrauchen, da ein direkter Zugang des RS nicht in Frage kommt.

 

 

Gruß

 

Jette

Link to comment

Streamen funktioniert übrigens nicht...

 

Über IIS schon, es muss dafür die Datei streamint.html des RS WebInterface angepasst werden.

 

<td align="center">

<a href="http://localhost:8080/{sourceipenc}" style="display:block;width:460px;height:280px;" id="player"></a>

<script>

flowplayer("player", "iphone/flowplayer/flowplayer-3.2.7.swf", {

Link to comment

anbei auch mal meine ReWrite Regeln für den IIS in WHS2011, Auszug aus der Datei Web.config:

<rewrite>

<rules>

<rule name="ReverseProxyInboundRuleTV" enabled="true" stopProcessing="true">

<match url="TV/(.*)" />

<conditions>

<add input="{CACHE_URL}" pattern="^(https?)://" />

</conditions>

<action type="Rewrite" url="http://localhost:8080/{R:1}" />

<serverVariables>

<set name="HTTP_ACCEPT_ENCODING" value="" />

</serverVariables>

</rule>

<rule name="ReverseProxyInboundRuleiphone" enabled="true" stopProcessing="true">

<match url="iphone/(.*)" />

<conditions>

<add input="{CACHE_URL}" pattern="^(https?)://" />

</conditions>

<action type="Rewrite" url="http://localhost:8080/iphone/{R:1}" />

<serverVariables>

<set name="HTTP_ACCEPT_ENCODING" value="" />

</serverVariables>

</rule>

</rules>

<outboundRules>

<rule name="ReverseProxyOutboundRule2" preCondition="ResponseIsHtml1" enabled="true">

<match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" customTags="" pattern="^http://localhost:8080/(.*)" />

<action type="Rewrite" value="/TV/{R:1}" />

</rule>

<rule name="RewriteRelativePaths2" preCondition="ResponseIsHtml1" enabled="true">

<match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" customTags="" pattern="^http://localhost:8080/(.*)" negate="false" />

<action type="Rewrite" value="/TV/{R:1}" />

</rule>

<preConditions>

<preCondition name="ResponseIsHtml1">

<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />

</preCondition>

</preConditions>

<customTags>

<tags name="clip">

<tag name="clip" attribute="clip" />

</tags>

</customTags>

</outboundRules>

</rewrite>

<urlCompression doStaticCompression="true" doDynamicCompression="false" />

 

Eine komplette Anleitung zu schreiben habe ich noch nicht geschafft. Leider sind hier auch noch Fehler enthalten, so dass auf meinem WHS WebInterface ein Fehler 500 bei Zugriff auf die freigegebenen Ordner erscheint. Der Zugriff auf das WebInterface des DVBViewers über https://xxxxxx.homeserver.com/TV funktioniert aber. Man sollte sich vorher auch mal einige Tutorials im Netz zum Thema ReWrite durchlesen.

 

Benötigt wird hierfür auch ReWrite 2.0 von Microsoft.

Auszug.txt

Link to comment

Über IIS schon, es muss dafür die Datei streamint.html des RS WebInterface angepasst werden.

 

Das klappt mit dem IIS leider nicht. Nach dem Anpassen der "stremint.html" geht das Stremen überhaupt nicht mehr.

 

Der ReverseProxy scheint den Stream nicht durchzureichen.

=> Alles andere funktioniert sonst korrekt. Das öffnen des Ports für das Streamen ist extrem unglücklich!

 

 

Hat irgendjemand noch eine Idee dazu?

 

 

Gruß

 

Jette

Link to comment
  • 1 month later...
  • 4 months later...

<td align="center">
<a href="http://localhost:8080/{sourceipenc}" style="display:block;width:460px;height:280px;" id="player"></a>
<script>
flowplayer("player", "iphone/flowplayer/flowplayer-3.2.7.swf", {

 

Hier muss "localhost:8080" durch die DNS des WHS ersetzt werden (z.B. https://xyz.homeserver.com/remote/TV). Dann bekommt man auch Zugriff auf den Videostream. Leider gibt es bei mir zumindest hier noch ein Problem: Der Stream bricht regelmäßig nach einigen Sekunden ab: FFMpeg läuft erst korrekt, dann beendet es sich und der Stream stoppt.

 

Gibt es einen Debugging-Mode, um festzustellen, warum FFMpeg abbricht? Ich würde gerne auch ein paar andere FFMpeg Dringe testen, aber benötige hierfür eine LOG-File von FFMpeg??!! :-(

Link to comment
×
×
  • Create New...