Czy usługi IIS można skonfigurować tak, aby przesyłać żądania do innego serwera WWW?

81

Mam kilka witryn skonfigurowanych na jednym serwerze IIS 6 wyróżnionym przez nagłówek hosta.

Chciałbym jednak, aby jedna z witryn była obsługiwana przez serwer Linux / Apache w mojej sieci. Czy muszę używać odwrotnego dodatku proxy do IIS, czy też istnieje prosty sposób, aby powiedzieć IIS, aby przekazywał wszystkie żądania do innego serwera?

Daniel O
źródło

Odpowiedzi:

83

W przypadku IIS 7.5 Microsoft udostępnia do tego oficjalne moduły!

W ustawieniach witryny pojawi się ikona „Przepisz URL”.

  • Otwórz to
  • kliknij prawym przyciskiem myszy na „liście reguł przychodzących”
  • Wybierz „Dodaj regułę”
  • Wybierz „Odwróć proxy”

W tym oknie dialogowym możesz wprowadzić nazwę hosta + port, do którego chcesz przekierować. Po dodaniu reguły otwarcie okna edycji oferuje więcej dostosowań.

vdboor
źródło
8
To miłe i wszystko, ale pierwotne pytanie określa IIS 6, więc jestem zdezorientowany, że odpowiedź specyficzna dla IIS 7.5 została oznaczona jako „zaakceptowana”. Czy było rozwiązanie dla IIS 6?
Tim Long
@Tim: możesz użyć przepisywania ISAPI wymienionego poniżej, ale poza tym nie znam rozwiązań IIS6.
vdboor,
Mam problemy z komputerem Win10 i nie mogę tego zainstalować. Czy są jakieś ograniczenia dla tych modułów? Czy konieczne jest uruchomienie go na serwerze z MS? dzięki
fpdragon,
1
Informujemy, że przy użyciu tej metody występują problemy z odwrotnym proxy do żądania POST
Casper Leon Nielsen
2
@CasperLeonNielsen Czy możesz wskazać nam więcej szczegółów na temat potencjalnych problemów z POST?
Jens Ehrich,
17

Używam do tego celu oprogramowania innych firm dla systemu Windows (IIS), które - oprócz innych rzeczy, takich jak przepisywanie adresów URL - całkiem nieźle sobie radzi: ISAPI Rewrite .

ISAPI Rewrite to potężny silnik do manipulacji adresami URL oparty na wyrażeniach regularnych. Działa głównie jak mod_Rewrite Apache, ale został zaprojektowany specjalnie dla Internetowego serwera informacyjnego Microsoft (IIS). ISAPI Rewrite to filtr ISAPI napisany w czystym C / C ++, dzięki czemu jest niezwykle szybki. ISAPI_Rewrite daje swobodę wyjścia poza standardowe schematy URL i opracowania własnego schematu.

Wyszukaj „Proxy”. Oto dokumentacja reguły RewriteProxy .

Istnieje również bardzo podobny projekt typu open source: filtr Ionic Isapi Rewrite .

splattne
źródło
link do dokumentu dla IIRF ProxyPass: cheeso.members.winisp.net/Iirf20Help/html/…
Cheeso
2
+1 - Działa to dobrze w IIS 6.
Evan Anderson
Nie mogłem użyć IIRF w systemie Windows 2008 R2 z dodatkiem SP1, z powodu tego problemu: iirf.codeplex.com/workitem/32479
Peter K.
1

Nie, nie w IIS 6. Spójrz na użycie nginx / ubuntu (lub nawet nginx w systemie Windows) jako odwrotnego proxy przed serwerem IIS6. Musieliśmy użyć IIS7.5 dla funkcji odwrotnego proxy

John Fox
źródło
-3

Ten artykuł bazy wiedzy Microsoft powinien pomóc odpowiedzieć na to żądanie.

Procedury przekierowywania żądań do innej witryny lub katalogu:

  1. W Menedżerze usług IIS rozwiń komputer lokalny, kliknij prawym przyciskiem myszy witrynę sieci Web lub katalog, który chcesz przekierować, a następnie kliknij polecenie Właściwości.

  2. Kliknij kartę Katalog macierzysty, Katalog wirtualny lub Katalog.

  3. W obszarze Treść tego źródła powinna pochodzić kliknij Przekierowanie do adresu URL.

  4. W polu Przekieruj do wpisz adres URL katalogu docelowego lub witryny sieci Web.

Nick O'Neil
źródło
6
Biorąc pod uwagę znacznik „reverse-proxy” w pytaniu plakatu, domyślam się, że szuka on funkcji odwrotnego proxy, a nie przekierowania HTTP.
Evan Anderson
5
Drugi serwer nie jest publicznie dostępny, więc niestety to nie zadziała
Daniel O
To jest po prostu źle.
tacos_tacos_tacos