hronny
Goto Top

Mehrere IIS Server über einen einzelnen Server verbinden

Hallo. Im Netzwerk gibt es verschiedene Webserver die von diversen Firmen installiert wurden. Jetzt wäre es geschickt, diese unter einer einzigsten (öffentlichen) Adresse erreichbar zu machen.

Aktuelle Situation:

Mehrere Windows Server 2008 R2. Auf diesen laufen bedingt durch verschiedene Externe Firmen, Exchange und Remotedesktopgateway überall Webserver. Bedingt durch die Technik sollen alle Zugriffe nur mit HTTPS erreichbar sein.
Die Zugriffe auf die einzelnen Applikationen funktionieren durch unterschiedliche Pfade.

- https://192.168.0.11/aaa
- https://192.168.0.12/bbb
- https://192.168.0.13/ccc
- https://192.168.0.14/ddd

Für das RD-Gateway wurde extra ein SSL Zertifikat eingerichtet, damit es vom öffentlichen Internet auch problemlos funktioniert. Um alle Applikationen von extern erreichbar zu machen, müsste man ersteinmal mehrere IP-Adressen und dazu SSL-Zertifikate haben. Allerdings wäre es doch geschickter, über einen Server intern auf die anderen "Weiterzuverbinden" also wie ein Proxy.

- https://externedomain.com/    => RD-Gateway
- https://externedomain.com/aaa => intern https://192.168.0.11/aaa
- https://externedomain.com/bbb => intern https://192.168.0.12/bbb
- https://externedomain.com/ccc => intern https://192.168.0.13/ccc
- https://externedomain.com/ddd => intern https://192.168.0.14/ddd
Der Gedanke ist, mit einer einzelnen IP und einem SSL Zertifikat auszukommen. Da ich sonst nur Apache Server konfiguriere und von IIS wenig Wissen habe, frage ich ob es überhaupt möglich ist und wie das gehen könnte.

Content-Key: 204678

Url: https://administrator.de/contentid/204678

Printed on: April 19, 2024 at 03:04 o'clock

Member: catachan
catachan Apr 09, 2013 at 10:13:33 (UTC)
Goto Top
Hi

Das was du suchst nennt sich Reverseproxy

LG
Member: hronny
hronny Apr 09, 2013 at 10:28:50 (UTC)
Goto Top
Danke das hilft schonmal ein Stück weiter. Kann man den mit Boardmitteln im IIS lösen, oder braucht man da ein Zusatzprogramm. Ich habe da eine Seite bei Codeplex gefunden: http://www.codeplex.com/Wikipage?ProjectName=urlrewriter Hat das damit etwas zu tun?

Gruß Ronny
Member: Dani
Dani Apr 09, 2013 at 10:32:33 (UTC)
Goto Top
Moin,
ich leg dir Squid als Reverse Proxyans Herz. Ist verdammt schnell und einfach zu konfigurieren.

Squid unterstützt sowohl SSL, als auch RPC vom Exchange. Sollte alle deine Probleme lösen.


Grüße,
Dani
Member: hronny
hronny Apr 09, 2013 at 10:41:37 (UTC)
Goto Top
Der RD-Gateway läuft derzeit schon. Kann man das einfach so umstricken, dass es über den Squid läuft? Squid nutze ich derzeit in einer anderen Testumgebung mit SquidGuard mit 150 Clients, aber nur für den eigentlichen Zweck als Webfilter. Wusste gar nicht, dass es Rückwärts auch geht.
Member: Dani
Dani Apr 09, 2013 at 10:48:34 (UTC)
Goto Top
Der RD-Gateway läuft derzeit schon. Kann man das einfach so umstricken, dass es über den Squid läuft?
Wieso auch nicht... denn der Squid gibt es als Reverse Proxy noch nicht.

Squid nutze ich derzeit in einer anderen Testumgebung mit SquidGuard mit 150 Clients, aber nur für den eigentlichen Zweck als Webfilter
Nutz bitte zwei verschiedene Squid-Instanzen. Alles über einen laufen zulassen ist meiner Ansicht nach nicht gut. Denn fällt einer Aus istwohl dein Internet an den Clients als auch deine Webdienste offline.

VM ausetzen, Squid laut Link installieren, öffentlich IP per NAT zuweißen, Squid Konfiguration entwerfen und testen, Testzeitraum ansetzen und danch kannst du bequem dem RD-Gateway die öffentliche IP entziehen.


Grüße,
Dani
Member: hronny
hronny Apr 15, 2013 updated at 18:53:34 (UTC)
Goto Top
Also nach vielen lesen und experimentieren bin ich zum Ergebnis gekommen, dass es mit Squid zwar gehen könnte (ohne SSL gehts auch tadellos), allerdings der Aufwand dafür schon etwas übertrieben ist. Erstmal ist in keiner Standarddistribution ein Squid mit SSL Support enthalten, dieser muss selbst kompiliert sein. Dann müssen spezielle Zertifikate angefertigt werden. Dann ist die Konfiguration für den Zweck auch nicht ganz ohne.
Sicher werde ich an der Stelle bei Gelegenheit weitermachen, denn Linux ist mir sowieso lieber als Windows. Aber in dem Fall, wo der IIS schon auf Windows läuft und der RD-Gateway auch funktioniert, möchte ich ungern an einer Produktiven Umgebung das Basteln anfangen.

Für den Reverse Proxy in IIS habe ich auch noch nicht die passende Anleitung gefunden bzw verstehe ich die Informationen nicht (ja lacht nur). Ich bin soweit, dass man:

  • die Erweiterung "Application Request Routing" (kurz ARR) und "URL Rewrite" von Microsoft herunterladen und installieren muss. Das habe ich gemacht.
  • Internetinformationsdienste (IIS)-Manager öffnen
  • dort Application Request Routing Cache anklicken und Feature öffnen
  • hier auf der rechten Seite Server Proxy Settings anklicken
  • Haken setzen bei Enable Proxy, rest Standard gelassen
  • Konfiguration im Modul URL Rewrite
  • Rechte Seite Regel(n) hinzufügen anklicken
  • im neuen Fenster unter Eingehende Regeln den Punkt Leere Regel mit Doppelklick auswählen
  • Name ist frei definierbar Reverse Proxy 1
  • Bei Übereinstimmung mit der URL unter Angeforderte URL "Entspricht dem Muster" und Unter Verwendung von "Reguläre Ausdrücke".
  • In das Feld Muster habe ich eine regulären Ausdruck z.B: ^aaa/(.*)
  • Unter Aktion -> Aktionstyp dann "Umschreiben" und darunter unter URL Umschreiben steht: http://192.168.0.11/aaa/{R:1}

Soweit funktioniert das prima. Rufe ich von Extern die URL https://externedomain.com/aaa/ auf, dann kommt genau die interne Seite die auch wollte. Allerdings geht nun der RD-Gateway auf dem Server nicht mehr, was ich nun überhaupt nicht verstehe. Denn beim Aufruf von https://externedomain.com kommt die Standardseite des IIS. Irgendwas scheine ich vergessen zu haben.