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?

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.


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 .


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


-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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.