Чи можна налаштувати IIS для переадресації запиту на інший веб-сервер?


81

У мене на одному сервері IIS 6 створено кілька веб-сайтів, які відрізняються заголовком хоста.

Однак я хочу, щоб у моїй мережі був один із сайтів, що обслуговуються сервером Linux / Apache. Чи потрібно використовувати зворотну надбудову проксі для IIS, чи існує простий спосіб сказати IIS передати всі запити на інший сервер?

Відповіді:


83

Для IIS 7.5 Microsoft пропонує офіційні модулі для цього!

У налаштуваннях сайту ви отримаєте піктограму "Перезапис URL-адрес".

  • Відкрий це
  • клацніть правою кнопкою миші "список вхідних правил"
  • Виберіть "Додати правила (правила)"
  • Виберіть "Зворотний проксі"

У цьому діалоговому вікні ви можете ввести ім'я хоста + порт для переадресації. Після додавання правила відкриття діалогового вікна редагування пропонує більше налаштувань.


8
Це добре, і все, але в оригінальному запитанні вказано IIS 6, тому я плутаю, що відповідь, специфічна для IIS 7.5, була позначена як "прийнята". Чи було рішення для IIS 6?
Тім Лонг

@Tim: ви можете використовувати перезапис ISAPI, згаданий нижче, але крім іншого, я не знайомий з рішеннями IIS6.
vdboor

У мене виникають проблеми на моїй машині Win10, і я не можу встановити це. Чи є якісь обмеження для цих модулів? Чи потрібно запускати його на серверній ОС з MS? дякую
fpdragon

1
Зауважте, що існують проблеми із зворотним набором запитів POST за допомогою цього методу
Casper Leon Nielsen

2
@CasperLeonNielsen Чи не могли б ви вказати нам детальніше про потенційні проблеми POST?
Єнс Еріх

17

Для цієї мети я використовую сторонне програмне забезпечення для Windows (IIS), яке - крім інших речей, як переписування URL-адрес - виконує цю роботу досить добре: ISAPI Rewrite .

ISAPI Rewrite - це потужна система управління URL-адресами, заснована на регулярних виразах. Він діє в основному як mod_Rewrite Apache, але розроблений спеціально для Інтернет-сервера інформаційних технологій Microsoft (IIS). ISAPI Rewrite - це фільтр ISAPI, написаний чистим C / C ++, тому він надзвичайно швидкий. ISAPI_Rewrite дає вам можливість вийти за рамки стандартних URL-схем та розробити власну схему.

Шукати "Проксінг". Ось документація для правила RewriteProxy .

Існує також дуже схожий проект з відкритим кодом: фільтр перезапису Іопі Ionic .


посилання на документ для IIRF ProxyPass: cheeso.members.winisp.net/Iirf20Help/html/…
Cheeso

2
+1 - Це добре працює на IIS 6.
Еван Андерсон

Мені не вдалося використати IIRF на Windows 2008 R2 SP1 через цю проблему: iirf.codeplex.com/workitem/32479
Пітер К.

1

Ні, не на IIS 6. Подивіться на використання nginx / ubuntu (або навіть nginx у Windows) як зворотний проксі перед вашим сервером IIS6. Нам довелося використовувати IIS7.5 для зворотних функцій проксі


-3

Ця стаття Microsoft KB повинна допомогти відповісти на цей запит.

Процедури переадресації запитів на інший веб-сайт або каталог:

  1. У IIS Manager розгорніть локальний комп'ютер, клацніть правою кнопкою миші веб-сайт або каталог, який ви хочете перенаправити, і натисніть Властивості.

  2. Перейдіть на вкладку Домашній каталог, Віртуальний каталог або Каталог.

  3. У розділі Вміст цього джерела виберіть "Переспрямування до URL-адреси".

  4. У полі "Переспрямування на" введіть URL-адресу каталогу призначення або веб-сайту.


6
Враховуючи тег "reverse-proxy" на запитання плаката, я здогадуюсь, що він шукає функцію зворотного проксі, а не перенаправлення HTTP.
Еван Андерсон

5
Інший сервер не є загальнодоступним, тому, на жаль, це не працює
Daniel O

Це просто неправильно.
tacos_tacos_tacos
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.