IIS può essere configurato per inoltrare la richiesta a un altro server Web?


81

Ho diversi siti Web configurati su un server IIS 6 distinto da Header host.

Tuttavia, desidero avere uno dei siti serviti da un server Linux / Apache sulla mia rete. Devo utilizzare un componente aggiuntivo proxy inverso per IIS o esiste un modo semplice per dire a IIS di trasmettere tutte le richieste a un altro server?

Risposte:


83

Per IIS 7.5, Microsoft fornisce moduli ufficiali per questo!

Nelle impostazioni del sito, otterrai l'icona "Riscrittura URL".

  • Aprilo
  • fare clic con il tasto destro su "elenco regole in entrata"
  • Seleziona "Aggiungi regola / e"
  • Scegli "Reverse proxy"

In questa finestra di dialogo è possibile inserire il nome host + porta a cui inoltrare. Dopo aver aggiunto la regola, l'apertura della finestra di dialogo di modifica offre ulteriori personalizzazioni.


8
È bello e tutto, ma la domanda originale specificava IIS 6, quindi sono confuso che una risposta specifica a IIS 7.5 sia stata contrassegnata come "accettata". Esisteva una soluzione per IIS 6?
Tim Long

@Tim: puoi usare la riscrittura ISAPI menzionata di seguito, ma a parte questo, non ho familiarità con le soluzioni IIS6.
vdboor,

Sto riscontrando problemi sulla mia macchina Win10 e non riesco a installarlo. Ci sono delle limitazioni per questi moduli? È necessario eseguirlo su un sistema operativo server da MS? grazie
fpdragon il

1
Si informa che ci sono problemi con il proxy inverso delle richieste POST utilizzando questo metodo
Casper Leon Nielsen,

2
@CasperLeonNielsen Potresti indicarci qualche dettaglio in più sui potenziali problemi POST?
Jens Ehrich,

17

Sto usando un software di terze parti per Windows (IIS) per questo scopo, che - oltre ad altre cose come la riscrittura degli URL - fa abbastanza bene questo lavoro: ISAPI Rewrite .

ISAPI Rewrite è un potente motore di manipolazione degli URL basato su espressioni regolari. Funziona principalmente come mod_Rewrite di Apache, ma è progettato specificamente per Internet Information Server (IIS) di Microsoft. ISAPI Rewrite è un filtro ISAPI scritto in puro C / C ++, quindi è estremamente veloce. ISAPI_Rewrite ti dà la libertà di andare oltre gli schemi URL standard e sviluppare il tuo schema.

Cerca "Proxy". Ecco la documentazione per la regola RewriteProxy .

Esiste anche un progetto open source molto simile: Isapi Rewrite Filter di Ionic .


collegamento al documento per IIRF ProxyPass: cheeso.members.winisp.net/Iirf20Help/html/…
Cheeso

2
+1 - Funziona bene su IIS 6.
Evan Anderson,

Non sono riuscito a utilizzare IIRF su Windows 2008 R2 SP1, a causa di questo problema: iirf.codeplex.com/workitem/32479
Peter K.

1

No, non su IIS 6. Guarda come usare nginx / ubuntu (o persino nginx su Windows) come proxy inverso di fronte al tuo server IIS6. Abbiamo dovuto usare IIS7.5 per le funzioni di proxy inverso


-3

Questo articolo di Microsoft KB dovrebbe aiutare a rispondere a questa richiesta.

Procedure per reindirizzare le richieste a un altro sito Web o directory:

  1. In Gestione IIS, espandere il computer locale, fare clic con il pulsante destro del mouse sul sito Web o sulla directory che si desidera reindirizzare e fare clic su Proprietà.

  2. Fare clic sulla scheda Directory principale, Directory virtuale o Directory.

  3. In Il contenuto di questa fonte dovrebbe provenire, fare clic su Un reindirizzamento a un URL.

  4. Nella casella Reindirizza a, digitare l'URL della directory di destinazione o del sito Web.


6
Dato il tag "reverse-proxy" sulla domanda del poster, suppongo che stia cercando funzionalità di proxy inverso e non un reindirizzamento HTTP.
Evan Anderson,

5
L'altro server non è pubblicamente disponibile, quindi sfortunatamente non funzionerebbe
Daniel O

Questo è semplicemente sbagliato.
tacos_tacos_tacos
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.