Dapatkah IIS dikonfigurasikan untuk meneruskan permintaan ke server web lain?

81

Saya memiliki beberapa situs web yang diatur pada satu server IIS 6 yang dibedakan oleh Host Header.

Namun, saya berharap memiliki salah satu situs yang dilayani oleh server Linux / Apache di jaringan saya. Apakah saya perlu menggunakan add-in reverse proxy untuk IIS, atau adakah cara sederhana untuk memberitahu IIS untuk meneruskan semua permintaan ke server lain?

Daniel O
sumber

Jawaban:

83

Untuk IIS 7.5, Microsoft menyediakan modul resmi untuk ini!

Di pengaturan situs, Anda akan mendapatkan ikon "URL Menulis Ulang".

  • Buka
  • klik kanan pada "daftar aturan masuk"
  • Pilih "Tambah Aturan"
  • Pilih "Reverse proxy"

Dalam dialog ini Anda dapat memasukkan hostname + port untuk meneruskan. Setelah menambahkan aturan, membuka dialog edit menawarkan lebih banyak penyesuaian.

vdboor
sumber
8
Itu bagus dan semuanya, tetapi pertanyaan awal yang ditentukan IIS 6, jadi saya bingung bahwa jawaban khusus untuk IIS 7.5 telah ditandai sebagai 'diterima'. Apakah ada solusi untuk IIS 6?
Tim Long
@Tim: Anda dapat menggunakan penulisan ulang ISAPI yang disebutkan di bawah, tetapi selain itu, saya tidak terbiasa dengan solusi IIS6.
vdboor
Saya mengalami masalah pada mesin Win10 saya dan saya tidak dapat menginstal ini. Apakah ada batasan untuk modul ini? Apakah perlu untuk menjalankannya pada Server OS dari MS? terima kasih
fpdragon
1
Harap diperhatikan bahwa ada masalah dengan membalikkan permintaan POST proxy menggunakan metode ini
Casper Leon Nielsen
2
@CasperLeonNielsen Bisakah Anda tunjuk kami ke beberapa rincian lebih lanjut tentang masalah POST potensial?
Jens Ehrich
17

Saya menggunakan perangkat lunak pihak ketiga untuk Windows (IIS) untuk tujuan ini, yang - selain hal-hal lain seperti penulisan ulang URL - melakukan pekerjaan ini dengan cukup baik: ISAPI Rewrite .

ISAPI Rewrite adalah mesin manipulasi URL yang kuat berdasarkan ekspresi reguler. Kerjanya sebagian besar seperti mod_Rewrite Apache, tetapi dirancang khusus untuk Internet Information Server (IIS) Microsoft. ISAPI Rewrite adalah filter ISAPI yang ditulis dalam C / C ++ murni sehingga sangat cepat. ISAPI_Rewrite memberi Anda kebebasan untuk melampaui skema URL standar dan mengembangkan skema Anda sendiri.

Cari "Proxying". Berikut ini adalah dokumentasi untuk Aturan RewriteProxy .

Ada juga proyek sumber terbuka yang sangat mirip: Filter Tulisan Isapi dari Ionic .

percikan
sumber
tautan ke doc untuk ProxyPass IIRF: cheeso.members.winisp.net/Iirf20Help/html/…
Cheeso
2
+1 - Ini bekerja dengan baik pada IIS 6.
Evan Anderson
Saya tidak dapat menggunakan IIRF pada Windows 2008 R2 SP1, karena masalah ini: iirf.codeplex.com/workitem/32479
Peter K.
1

Tidak, bukan di IIS 6. Lihat menggunakan nginx / ubuntu (atau bahkan nginx di windows) sebagai proxy terbalik di depan server IIS6 Anda. Kami harus menggunakan IIS7.5 untuk fitur proxy terbalik

John Fox
sumber
-3

Artikel Microsoft KB ini akan membantu menjawab permintaan ini.

Prosedur untuk mengarahkan permintaan ke situs atau direktori Web lain:

  1. Di IIS Manager, rentangkan komputer lokal, klik kanan situs Web atau direktori yang ingin Anda redirect, dan klik Properties.

  2. Klik Direktori Rumah, Direktori Virtual, atau tab Direktori.

  3. Di bawah Konten untuk sumber ini harus berasal, klik Pengalihan ke URL.

  4. Di kotak Redirect to, ketik URL direktori tujuan atau situs Web.

Nick O'Neil
sumber
6
Mengingat tag "reverse-proxy" pada pertanyaan poster, saya kira dia mencari fungsionalitas proxy terbalik dan bukan pengalihan HTTP.
Evan Anderson
5
Server lain tidak tersedia untuk umum jadi sayangnya ini tidak akan berhasil
Daniel O
Ini benar-benar salah.
tacos_tacos_tacos