Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    N'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters


    Expertise Commerce server et BizTalk

Reverse Proxy et IIS7 - mise en place du module Application Request Routing (ARR)

J’ai récemment eu besoin de rendre visible des sites hébergés sur deux serveurs différents de mon réseau local vers l’extérieur.

Ayant qu’une seule IP publique et plusieurs serveurs Web locaux, je ne peux pas rediriger toutes les requêtes du port 80 vers une IP locale précise.

J’ai donc ajouté un serveur faisant office de reverse proxy. Toutes les requêtes sur le port 80 sont redirigées vers ce serveur, ce serveur redirige ensuite les requêtes vers les serveurs locaux.

Prenons par exemple, le cas où tous les sites web de web de preproduction sont hébergés sur un serveur nommé pprod.xxx.local et les sites web d’intégration sur int.xxx.local. Lorsque j’accède à SiteName.pprod.xxx.com ou SiteName.int.xxx.com j’aimerais accéder au site web correspondant.

Le schéma ci-dessous illustre le principe :

 

image

Afin de réaliser ce comportement, j’ai installé le module Application Request Routing (ARR) sur le serveur app.xxx.local. ARR est un module gratuit édité par Microsoft permettant de réécrire les urls en utilisant le module Url Rewrite, il permet aussi de gérer du cache. Vous pouvez le télécharger à partir de cette adresse : http://www.iis.net/download/applicationrequestrouting 

J’ai utilisé Web Platform Installer pour installer le module, cela m’a automatiquement installé IIS7 et les composants additionnels requis.

Une fois installé, vous retrouvez le module ARR et le module URL Rewrite dans la console d’administration IIS, au niveau du noeud serveur.

image

Double cliquer dans le module et activer le reverse proxy au niveau des paramètres du reverse proxy et cocher la case “enable proxy”.

image image

Une fois cette manipulation effectuée, il faut rajouter une règle au niveau du module Url Rewrite.

Pour cela nous allons partir d’une règle vide, et créer la règle suivante :

Pattern : *
Conditions : {HTTP_HOST} match *.pprod.XXX.com,
Conditions : “track capture groups accross conditions” coché. Cela permettra de récupérer la valeur de *
Rewrite Url : http://{C:1}.pprod.XXX.local/{R:1}

La capture ci-dessous illustre la règle créée dans IIS.

image

Faites de même pour la règle *.int.local.

Au final, vous aurez alors vos différentes règles de redirection directement dans le module URL Rewrite.

image

Sur les serveurs web, au niveau des sites web, il faut avoir configuré les bindings pour écouter sur SiteName.pprod.XXX.local

image

Il ne reste plus qu’à configurer le DNS pour que *.pprod.XXX.com et *.int.XXX.com pointe vers votre IP public.

Le module “Application Request Routing” permet également de gérer du cache, pour en savoir plus rendez-vous ici : Application Request Routing

Pour que le plugin fonctionne, il faut laisser au moins un site web sur le serveur, ne faites pas comme moi et ne supprimez pas le site web par défaut.

Et vous, qu’utilisez-vous pour faire un serveur reverse proxy ? Avez-vous déjà utilisé le module ARR ?

Posted: lundi 12 juillet 2010 14:12 par cyril
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

JeremyJeanson a dit :

Bonjour Ciryl,

Sympa cette fonctionnalité de IIS. As tu testé avec un site en HTTPS?

# juillet 12, 2010 14:45

cyril a dit :

non, je n'ai pas testé avec HTTPS. D'un point de vue purement requête, je ne vois pas de soucis. Par contre, je ne sais pas ce qui va se passer au niveau des certificats, je ne vois pas ce qui peut poser des problèmes.

D'après ce lien : http://blogs.iis.net/wonyoo/archive/2008/07/10/ssl-off-loading-in-application-request-routing.aspx ca fonctionne :)

# juillet 12, 2010 15:49

JeremyJeanson a dit :

Merci Ciryl,

Cela semble effectivement prometteur ;)

... il faut que je trouve le temps de tester :(

# juillet 12, 2010 19:59
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01

- Office 365: Script PowerShell pour supprimer des comptes utilisateur de collections de sites SharePoint Online par Blog Technique de Romelard Fabrice le 11-19-2018, 16:47

- Retrouvez-moi aux Microsoft experiences18 ! par Blog de Jérémy Jeanson le 11-06-2018, 22:25

- Office 365: Script PowerShell pour extraire les Teams associés à un utilisateur spécifié par Blog Technique de Romelard Fabrice le 11-06-2018, 13:37

- Office 365: Extraire les pages publiées dans un site SharePoint Online de publishing en CSV par Blog Technique de Romelard Fabrice le 11-06-2018, 11:04

- Office 365: Comment créer un jeu de Pages Modernes dans un Modern Site SharePoint Online en utilisant PowerShell depuis un fichier CSV par Blog Technique de Romelard Fabrice le 10-17-2018, 12:50