Webfrontend auf Subdomain umleiten (Reverse-Proxy)?

Hi,

die Frage gehört wahrscheinlich eher in ein Netzwerk-oder Router-Forum, ich will sie aber trotzdem hier platzieren, evtl. hat das schon einer gelöst:

ich würde gern das WFE von aussen zugänglich machen, allerdings nicht über einen dedizierten Port sondern gern über eine Subdomainauf Port 80.
Mein IPS läuft auf einem Server 2k8R2, auf diesem läuft noch ein IIS 7.5. Idealerweise würde ich den IIS als Reverse-Proxy nutzen und das IPS-WFE von Port 82 auf eine Subdomain (z.B. www.ips.raketenschnecke.net), Port 80 umbiegen und diese dann per Firewall (CISCO SA540) nach draussen geben.

Hintergrund: ich bin bei vielen Kunden unterwegs, aus deren Intranet nur Port 80/443 nach draussen zulässig sind. Ich möchte mir die Möglichkeit offenhalten, im Zweifel auch von dort auf mein IPS (WFE) zugreifen zu können.

Hat das schon jemand ausprobiert oder umgesetzt? Wäre das per IIS mit Reverseproxy-Funktionalität machbar (ich hab vor meiner IPS-Zeit mal kurz mit IIS als Reverse-Proxy rumgespielt, nicht vollständig verstanden und glaube zu wissen dass der nicht jede Reverse-Proxy Funktionalität umsetzen kann)?

Der IIS kann zwar Subdomains, aber wie willst du das dann mit dem Webfront hinbekommen?!? Das PHP und die IPS Extensions laufen nur in dem IPS, da gab es schonmal einen Thread (war der nicht sogar von mir?!?).

Was aber gehen könnte wäre, wenn du einen ISA davor machst, der kann auch URL Rewriting, da kannst du dann domain/ips machen und kannst dann eine andere interne URL angeben.

Die Astaro konnte das mit der 6. und der 7. nicht, ob das die 8. kann, kann ich dir nicht sagen.

Du könntest evtl. eine VM aufsetzen mit nem ISA drin, der dann das URL Rewriting macht.

Bin eher kein Freund vom ISA, aber sonst kenne ich auch kein Produkt das das kann.

Hallo,

ich weiß nicht ob der IIS das kann - wage es aber mal zu bezweifeln …

Was geht ist ein Apache und/oder Squid als Reverse-Proxy - dazu findest Du Infos hier im Forum …

Grüße

Andreas

Hi Ihr, vielen Dank für die Rückmeldungen. Scheint so, als wäre das für mich nicht so ohne weiteres lösbar:

ISA auf virtuellem Server: scheidet leider für mich aus da der Host den Mediaportal-TVServer beherbergt. Habe leider feststellen müssen dass eine HyperV-Umgebung auf dem Host dramatische Latency-Zeiten verursacht (8000µs und mehr), das wiederum verursacht eine Verlangsamung der Systemuhr von bis zu 200ms/Minute. Bei Videostreaming ein absolutes NoGo.

Apache: tja, das Teil müsste man nur noch administrieren können :smiley:

SQUID: sehe gerade dass der auch auf WIN 2008 läuft, den schau ich mir mal an

Danke Euch

Hab ich die Frage nicht verstanden? :confused: Ich mach es so:

IPS auf Windows XP; zweite WebFront Kerninstanz auf Port 443 (SSL); Port in Firewall freischalten.

DynDNS Adresse routet auf meine externe Router IP; dort Port-Forwarding auf den IPS Rechner; gleicher Port.

tja, das kannste machen wenn du nur einmal den Port 443 verwendest. Der ist bei mir aber schon durch ne andere Anwendung belegt (ich hab derzeit ca 9 Anwendungen, die ich alle gern auf Port 80/Port 443 legen würde). Und wenn Du über einen Port 2 verschiedene Anwendungen ansprechen willst bleibt eigentlich nur noch, einen Reverse-Proxy davor zu schalten. Der Reverseproxy weis dann durch die Subdomain, an welche Anwendnung er weiterleiten soll.

Beispiel:
www.anwendung1.domain.de = Anwendung 1, Port 443
www.anwendung2.domain.de = Anwendung 2, Port 443

Ah, jetzt hab ich das Problem verstanden :eek:

Aber nochmal ein anderer Ansatz: der DynDNS Dienst, welchen ich nutze, kann den Port weiterleiten. Damit könntest du das Webfront unter Domain 2 z.b. auf Port 444 weiterleiten lassen. In IPS legst du das Webfront auch auf Port 444. Dann sollte doch alles gehen oder? (Ich denke wahrscheinlich wieder zu einfach…)

So habe ich es gemacht…ist viiieeellll einfacher :slight_smile: Weil Ports sind genügend vorhanden.

Hey, das hört sich auch sehr interessant an. Frage: müssen das 2 unterschiedliche ´Domains sein oder gehene auch Subdomains?

-> welcher Provider?

Schau mal bei no-ip. Ich hab ja nur eine Anwendung, also kein redirect eingerichtet - aber dort steht geschrieben:

Port 80 Redirects
Many residential ISPs Block port 80, No-IP Free DNS enables you to run a webserver on a non-standard port, yet users accessing your site never have to enter a port number. For example http://yourname.no-ip.info/ can redirect to http://yourname.no-ip.info:8833/

also ich war echt skeptisch, ich hätte nicht gedacht dass das funktioniert! habs heute ausprobiert:es tut ! ganzbreitgrins

Danke für den Tipp!

Gern geschehen, schön das es klappt! :slight_smile:

ich stolpere gerade über diesen alten Thread, hab dazu ein Update:

der no-ip-Account ist ausgelaufen, inzwischen ist mir die Funktionsweise von no-ip klar geworden. Also hab ich auf meinem IIS-Server eine Subdomain mit folgender html-Seite als default-Umleitung konfiguriert:


<html><head><meta http-equiv="Refresh" content="1; URL=http://subdomain.domain.com:9099">
</head><body></body></html>

man ruft die Subdomain „http://subdomain.domain.com“ ganz normal über Port 80 (was ja jedes Firmennetz zulassen müsste auf, der Remote-Server leitet diesen Aufruf auf das IPS-WFE „http://subdomain.domain.com:9099“ um, was in dem Firmennetz in dem ich mich aktuell bewege kein Problem war

Hallo!
Bin gerade an dem selben Thema und versuche mein Glück mit dem ARR (Application Request Routing) im IIS meines WHS2011.
Hier bekomme ich aber die Outbound-Regel einfach nicht richtig hin, das Webfront-Login erscheint ohne Bilder und lässt mich nicht einloggen.
Komischerweise funktioniert das Outlook Web App von Exchange2010 ohne Outbound-Regel.

Meine Rewrite-Regel sieht so aus:

<rule name="Umleitung für IPS">  
<match url="^ips(.*)" />  
<action type="Rewrite" url="http://Servername:Port/{R:1}" />  
</rule>

Die Outbound-Regel versuche ich z.B. so:

<outboundRules>
        <rule name="Add application prefix" preCondition="IsHTML">
            <match filterByTags="A" pattern="^/(.*)" />
            <conditions>
                <add input="{URL}" pattern="^/ips/.*" />
            </conditions>
            <action type="Rewrite" value="/{C:1}/{R:1}" />
        </rule>
        <preConditions>
            <preCondition name="IsHTML">
                <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
            </preCondition>
        </preConditions>
    </outboundRules>

Der Aufruf wäre dann über https://xyz.homeserver.com/ips
Sobald ich die Outboundregel hinzufüge bekomme ich Fehlermeldung 500.
Vielleicht hat hier nochmal jemand einen Tip für mich?

@Raketenschnecke: Wenn ich Deine letzte „Lösung“ richtig verstehe machst Du ja kein Rewrite der URL auf dem Server sondern nur eine Umleitung. Wenn aus einem Firmennetzwerk nur der Zugriff über Port 80/443 möglich ist dürfte diese Variante also nicht funktionieren, oder?

Nginx kann das - ist klein und fein, aber etwas hakelig in der Konfig.

Grüsse,
Axel

Habe es mittlerweile mit dem WHS2011 hingekriegt:

in der Datei Web.Config unter C:\Program Files\Windows Server\Bin\WebApps\Site habe ich folgenden Absatz hinzugefügt:

<system.webServer>
<rewrite>
<rules>
<rule name="Umleitung für IPS" stopProcessing="true">
<match url="^ips(.*)" />
<action type="Rewrite" url="https://192.168.x.x:xxxx/{R:1}" />
<serverVariables>
<set name="HTTP_ACCEPT_ENCODING" value="" />
</serverVariables> 
</rule>
</rules>
</rewrite> 
</system.webServer>

Damit funktioniert es bei mir. Aufruf dann über https://xxx.homeserver.com/ips