IIS peut-il être configuré pour transférer la demande à un autre serveur Web?

81

Plusieurs sites Web sont configurés sur un serveur IIS 6, distingué par l’en-tête de l’hôte.

Cependant, je souhaite que l'un des sites Web soit desservi par un serveur Linux / Apache sur mon réseau. Dois-je utiliser un complément de proxy inverse pour IIS ou existe-t-il un moyen simple de dire à IIS de transmettre toutes les demandes à un autre serveur?

Daniel O
la source

Réponses:

83

Pour IIS 7.5, Microsoft fournit des modules officiels pour cela!

Dans les paramètres du site, vous obtenez un icône "URL Rewrite".

  • L'ouvrir
  • clic droit sur la "liste des règles entrantes"
  • Sélectionnez "Ajouter règle (s)"
  • Choisissez "proxy inverse"

Dans cette boîte de dialogue, vous pouvez entrer le nom d’hôte + le port à transférer. Après avoir ajouté la règle, l’ouverture de la boîte de dialogue d’édition offre davantage de personnalisations.

vdboor
la source
8
C'est bien et tout, mais la question d'origine spécifiait IIS 6; je ne comprends donc pas qu'une réponse spécifique à IIS 7.5 a été marquée comme "acceptée". Y avait-il une solution pour IIS 6?
Tim Long
@ Tim: vous pouvez utiliser la réécriture ISAPI mentionnée ci-dessous, mais à part cela, je ne connais pas bien les solutions IIS6.
vdboor
J'ai des problèmes sur ma machine Win10 et je ne peux pas l'installer. Existe-t-il des limitations pour ces modules? Est-il nécessaire de l'exécuter sur un système d'exploitation serveur à partir de MS? merci
fpdragon
1
Sachez qu'il y a des problèmes avec les demandes POST POST inversées avec cette méthode
Casper Leon Nielsen
2
@CasperLeonNielsen Pourriez-vous nous donner plus de détails sur les problèmes POST potentiels?
Jens Ehrich
17

J'utilise un logiciel tiers pour Windows (IIS) à cette fin, qui - outre d'autres éléments tels que la réécriture d'URL - effectue très bien ce travail: ISAPI Rewrite .

ISAPI Rewrite est un puissant moteur de manipulation d’URL basé sur des expressions régulières. Il s’agit essentiellement du mod_Rewrite d’Apache, mais est conçu spécifiquement pour Internet Information Server (IIS) de Microsoft. ISAPI Rewrite est un filtre ISAPI écrit en C / C ++ pur, il est donc extrêmement rapide. ISAPI_Rewrite vous donne la liberté d'aller au-delà des schémas d'URL standard et de développer votre propre schéma.

Recherchez "proxy". Voici la documentation de la règle RewriteProxy .

Il existe également un projet open source très similaire: Isapi Rewrite Filter de Ionic .

éclabousser
la source
lien vers doc pour IIRF ProxyPass: cheeso.members.winisp.net/Iirf20Help/html/…
Cheeso
2
+1 - Cela fonctionne bien sur IIS 6.
Evan Anderson
Je ne pouvais pas utiliser IIRF sur Windows 2008 R2 SP1 à cause de ce problème: iirf.codeplex.com/workitem/32479
Peter K.
1

Non, pas sous IIS 6. Utilisez nginx / ubuntu (ou même nginx sous Windows) en tant que proxy inverse devant votre serveur IIS6. Nous avons dû utiliser IIS7.5 pour les fonctionnalités de proxy inverse

John Fox
la source
-3

Cet article de la base de connaissances Microsoft devrait aider à répondre à cette demande.

Procédures pour rediriger les demandes vers un autre site Web ou répertoire:

  1. Dans le Gestionnaire IIS, développez l'ordinateur local, cliquez avec le bouton droit sur le site Web ou le répertoire que vous souhaitez rediriger, puis cliquez sur Propriétés.

  2. Cliquez sur l'onglet Répertoire de base, Répertoire virtuel ou Répertoire.

  3. Sous Le contenu de cette source doit provenir, cliquez sur Une redirection vers une URL.

  4. Dans la zone Rediriger vers, tapez l'URL du répertoire ou du site Web de destination.

Nick O'Neil
la source
6
Compte tenu de la balise "proxy inverse" sur la question de l'affiche, je suppose qu'il recherche une fonctionnalité de proxy inverse et non une redirection HTTP.
Evan Anderson
5
L'autre serveur n'est pas disponible publiquement, donc malheureusement cela ne fonctionnerait pas
Daniel O
Ceci est tout simplement faux.
tacos_tacos_tacos