Old Stuf‎ > ‎Microsoft‎ > ‎Windows 2012‎ > ‎

IISReverseProxy

Zoals vele van jullie weten is er net als voor UAG nog geen goede vervanging voor Microsoft TMG of ISA servers.
En vele van jullie zullen TMG of ISA gebruiken als reverse proxy oplossing om bijvoorbeeld websites of zelfs exchange te publiceren.

Mogelijk is Application Request Routing Cache op oplossing voor sommige van jullie is.

Wat zan de mogelijkheden

  • HTTP based routing decisions built using rules that examine HTTP request information
  • Sophisticated load balancing algorithms to determine appropriate servers to service the HTTP requests
  • Health monitoring for live traffic and specific URLs to determine the health of servers with a set of configuration parameters provided to calibrate baseline server health
  • Client affinity to direct all requests from a client to a specific server by using cookies.
  • Host name affinity to streamline administration for Web servers and to create additional business opportunities.
  • Management of multiple server farms to enable pilot management and A/B testing scenarios.
  • Management and monitoring of all configuration settings and aggregated runtime statistics through IIS Manager interface.
  • Support for Failed Request Tracing Rules
  • Disk-based caching
  • Cache hierarchy management
  • Cache proxy node in CDN/ECN environment
  • Caching compressed objects
  • Browsing cached contents using IIS Manager
  • Removing cached contents by matching URL patterns
  • Overriding cache-control directives
  • Warming up cache mode
  • Intelligent byte-range support
  • Intelligent live request support
  • Caching while serving responses

Ook niet onbelangrijk

  • IPv6 ondersteuning en ook IPv6 naar IPv4 translatie
  • Werkt op Windows 2008 en hoger (IIS 7 en hoger)
  • Ondersteund Windows NLB en Loadbalancers aan de voorkant.
  • Kan HTTPs offloading doen
  • Naast een Windows OS geen extra licenties nodig.
  • ICM met Windows 2012 heb je ook Centralized Certificates tot je beschikking :-)
  • ICM met Windows 2012 is ook Server Name Indication een mooie manier om publieke IPv4 adressen te besparen
  • Op basis van domain naam (hostheaders) bepalen welke backend server(s) nodig zijn
enz 

Met andere woorden, voor reverse proxy zaken kun je mogelijk je TMG server vervangen of kun je dit voor de TMG server plaatsen vanwege IPv6 en certificaat mogelijkheden die Windows 2012 bied.


Hier zal ik je stap voor stap laten zien hoe je de basis inrichting zou kunnen doen.


 
 Als basis gebruik ik een Windows 2012 server.

Deze zit in de workgroup Workgroup en heeft nog de automatisch gegenereerde computer naam.

Als je zelf de server inricht kun je deze ook een domein stoppen enz enz (jou feestje).

Verder heb ik de firewall voor deze handleiding uitgezet, iets wat je in productie natuurlijk nooit moet doen!!!!

Aangezien deze demo server het einde van de dag niet zal halen maakt het voor nu niet veel uit.
 
 Ga nu naar  http://www.iis.net/downloads/microsoft/application-request-routing

en klik op Install this extension

op deze manier wordt ook IIS geïnstalleerd en de andere onderdelen die nodig zijn.

 
 Klik op Install Now
 
 Klik op Run
 
 Klik op Next
 
 klik op I Accept
 
 Klik Finish
 
 
 
 Open nu de IIS management console, heb voor het gemak de onderdelen waar het omgaat even voorzien van een rood vierkantje.

 
 Stap 1 maak een server farm.

Hierin komen de servers die je voor een bepaalde dienst gebruikt.
Dit kan dus ook gewoon 1 server zijn zoals ik in het voorbeeld zal doen.

 
 Geef deze farm een duidelijke naam, bijvoorbeeld en url die je beschikbaar wil maken.
 
 Voeg de gewenste servers toe, in mijn geval dus maar 1 server.

 
 Klik Yes zo heb je al een voorbeeld om mee te werken.

Voor de volgende webfarms kun je beter No klikken.
 
 En daar is je webfarm, die je verder naar wens kan instellen.

 Ik zelf wil echter graag op basis van domain naam een andere webfarm gebruiken, zo kan ik op 1 publiek IP meerdere diensten aanbieden en dankzij Windows 2012 zelfs met meerdere certificaten (secure sites) op 1 IP.
Ja zou zelfs een TMG/UAG op deze manier beschikbaar kunnen maken voor IPv6 gebruikers.

Hiervoor moeten we de URL rewrite aanpassen
Klik op de server naam van je IIS server
Klik op URL rewrite    
 
 Hier is de voorbeeld regel zichtbaar die we eerder gemaakt hebben.
Hier kun je natuurlijk ook nieuwe regels maken.


 
Nu kunnen we de regel aanpassen die we willen gebruiken voor ons voorbeeld.

Het deel wat we aanpassen om de regel alleen te laten gelden voor het voorbeeld domein adfs.cpels.com is het conditions deel.

Klik op de grijze balk met de tekst conditions.

 
 Druk op Add    
 
 Pas de condition aan naar {HTTP_HOST}

Bij pattern kun je nu de domein naam invullen.

Deze site kan handig zijn voor het conditions stukje
http://weblogs.asp.net/owscott/archive/2010/01/26/iis-url-rewrite-hosting-multiple-domains-under-one-site.aspx

en

http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#Rewrite_Rule_Configuration?amp;clcid=0x409
 
 Vergeet vooral niet op Apply te drukken als je aanpassingen naar wens zijn.
 
 Nog even over het action gedeelte.
Als je meerdere regels wil, bijvoorbeeld 1 voor elk domein, dan kun je bij action bepalen welke webservers/web farms gebruikt moeten worden.

  

Aanvullingen
Standaard heeft IIS 1 website genaamd de default website, al het verkeer dat je door je nieuwe proxy oplossing gaat zal binnenkomen op deze default website.
Zelf maak ik per domein niuewe websites aan om de volgende redenen.

  • Het gebruik van certificaten word nu mogelijk
  • toegang op basis van Windows Groepen, IP adres beperkingen of alle andere zaken die IIS te bieden heeft.

TIP
Om op basis van groepen toegang tot je server farm te geven moet je de volgende stappen doorlopen.

Optie 1

    Maak gebruik van Authorization Rules in IIS (men voorkeur)



Optie 2
  1. Maak op je reverse proxy server een folder aan op de plek naar keuze bijvoorbeeld c:\website
  2. Zet op deze folder de rechten die je wil zodat gebruikers er bij kunnen.
  3. Pas je website aan zodat deze folder gebruikt wordt om te publiceren. (zie plaatje hier onder)

Natuurlijk zijn veel van deze stappen ook mogelijk met powershell.


Exchange RPC over HTTP (outlook anywhere)

Om outlook anywhere te kunnen gebruiken icm ARR moet je de request filtering aanpassen met de volgende stappen.

 
 Klik op Request Filtering
 
 Klik op edit feature settings
 
 Pass de Maximum allowed content length aan naar 1073741824

Klik OK en outlook zou nou moeten werken.

Voor men testen heb ik wel Windows Authentication uit en basic authentication aan moeten zetten voor de volgende virtuele exchange directory's, dit is niet aan te raden voor een productie omgeving :-)




Comments