IIS, isteği başka bir web sunucusuna iletmek için yapılandırılabilir mi?


81

Host Header'ın ayırt ettiği bir IIS 6 sunucusunda kurulu birkaç web sitem var.

Ancak, ağımda Linux / Apache sunucusu tarafından sunulan sitelerden birine sahip olmak istiyorum. IIS için bir proxy eklentisi kullanmam gerekir mi, yoksa IIS'nin tüm istekleri başka bir sunucuya iletmesini söylemenin basit bir yolu var mı?

Yanıtlar:


83

IIS 7.5 için Microsoft bunun için resmi modüller sağlar!

Site ayarlarında bir "URL Yeniden Yazma" simgesi göreceksiniz.

  • Aç onu
  • "gelen kurallar listesine" sağ tıklayın
  • "Kural Ekle" yi seçin
  • "Proxy Tersini" seçin

Bu iletişim kutusunda iletilecek hostname + portunu girebilirsiniz. Kuralı ekledikten sonra, düzenleme iletişim kutusunu açmak daha fazla özelleştirme sunar.


8
Güzel ve hepsi bu, ancak asıl soru IIS 6'yı belirtti, bu nedenle IIS 7.5'e özgü bir cevabın 'kabul edildi' olarak işaretlendiğini düşünüyorum. IIS 6 için bir çözüm var mıydı?
Tim Long

@Tim: Aşağıda belirtilen ISAPI yeniden yazma özelliğini kullanabilirsiniz, ancak bunun dışında IIS6 çözümlerine aşina değilim.
vdboor

Win10 makinemde sıkıntı yaşıyorum ve bunu yükleyemiyorum. Bu modüller için herhangi bir sınırlama var mı? Sunucu Sunucusunda MS'den çalıştırılması gerekli midir? teşekkürler
fpdragon

1
Bu yöntemi kullanarak POST isteklerinin tersine proxy'lerde sorun çıkması gerektiğini unutmayın
Casper Leon Nielsen

2
@CasperLeonNielsen Lütfen bizi potansiyel POST sorunları hakkında daha fazla ayrıntıya götürebilir misiniz?
Jens Ehrich

17

Bu amaçla, Windows için bir üçüncü taraf yazılımı kullanıyorum (bu, URL yeniden yazma gibi diğer şeylerin yanı sıra) bu işi oldukça iyi yapıyor: ISAPI Yeniden Yazma .

ISAPI Yeniden Yazma, düzenli ifadelere dayanan güçlü bir URL manipülasyon motorudur. Çoğunlukla Apache'nin mod_Rewrite'ı gibi çalışır, ancak özellikle Microsoft'un Internet Bilgi Sunucusu (IIS) için tasarlanmıştır. ISAPI Yeniden Yazma, saf C / C ++ dilinde yazılmış bir ISAPI filtresidir, bu nedenle son derece hızlıdır. ISAPI_Rewrite, standart URL şemalarının ötesine geçme ve kendi şemanızı geliştirme özgürlüğü sunar.

"Proxy" için arama yapın. İşte RewriteProxy Kural için belgeler .

Çok benzer bir açık kaynaklı proje de var: Ionic'in Isapi Rewrite Filter .


IIRF ProxyPass için doc bağlantısı: cheeso.members.winisp.net/Iirf20Help/html/…
Cheeso

2
+1 - Bu, IIS 6'da iyi çalışıyor.
Evan Anderson


1

Hayır, IIS'de değil 6. IIS6 sunucunuzun önünde nginx / ubuntu (veya hatta pencerelerde nginx) kullanmaya bakın. Ters proxy özellikleri için IIS7.5 kullanmak zorunda kaldık


-3

Bu Microsoft KB makalesi bu isteğin yanıtlanmasına yardımcı olmalıdır.

İstekleri başka bir Web sitesine veya dizine yönlendirme prosedürleri:

  1. IIS Yöneticisi'nde yerel bilgisayarı genişletin, yönlendirmek istediğiniz Web sitesini veya dizini sağ tıklatın ve ardından Özellikler'i tıklatın.

  2. Giriş Dizini, Sanal Dizin veya Dizin sekmesini tıklayın.

  3. Bu kaynağın içeriği gelmelidir altından, Bir URL’ye yeniden yönlendirme seçeneğini tıklayın.

  4. Yönlendir kutusuna, hedef dizininin veya Web sitesinin URL'sini yazın.


6
Posterin sorusundaki "reverse-proxy" etiketi göz önüne alındığında, HTTP yönlendirmesi için değil, ters proxy işlevi aradığını tahmin ediyorum.
Evan Anderson,

5
Diğer sunucu herkese açık değil, bu yüzden ne yazık ki bu işe yaramaz
Daniel O

Bu sadece düz yanlış.
tacos_tacos_tacos
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.