web-dev-qa-db-fra.com

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

J'ai plusieurs sites Web installés sur un seul serveur IIS 6 distingué par Host Header.

Cependant, je souhaite que l'un des sites 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?

81
Daniel O

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

Dans les paramètres du site, vous obtiendrez une icône "Réécriture d'URL".

  • L'ouvrir
  • clic droit sur la "liste des règles entrantes"
  • Sélectionnez "Ajouter une ou des règles"
  • Choisissez "proxy inverse"

Dans cette boîte de dialogue, vous pouvez saisir le nom d'hôte + le port vers lequel effectuer le transfert. Après avoir ajouté la règle, l'ouverture de la boîte de dialogue d'édition offre plus de personnalisations.

83
vdboor

J'utilise un logiciel tiers pour Windows (IIS) à cet effet, qui - en plus d'autres choses comme la réécriture d'URL - fait 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 agit principalement comme 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 "Procuration". Voici la documentation de la règle RewriteProxy .

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

17
splattne

Non, pas sur IIS 6. Regardez comment utiliser nginx/ubuntu (ou même nginx sur Windows) comme proxy inverse devant votre serveur IIS6. Nous avons dû utiliser IIS7.5 pour le proxy inverse traits

1
John Fox