O IIS pode ser configurado para encaminhar solicitações para outro servidor web?

81

Eu tenho vários sites configurados em um servidor IIS 6 distinguido pelo Host Header.

No entanto, desejo ter um dos sites atendidos por um servidor Linux / Apache na minha rede. Preciso usar um suplemento de proxy reverso para o IIS ou existe uma maneira simples de dizer ao IIS para passar todas as solicitações para outro servidor?

Daniel O
fonte

Respostas:

83

Para o IIS 7.5, a Microsoft fornece módulos oficiais para isso!

Nas configurações do site, você receberá um ícone "Reescrita de URL".

  • Abra
  • clique com o botão direito do mouse na "lista de regras de entrada"
  • Selecione "Adicionar regra (s)"
  • Escolha "Proxy reverso"

Nesta caixa de diálogo, você pode inserir o nome do host + porta para a qual encaminhar. Após adicionar a regra, abrir a caixa de diálogo de edição oferece mais personalizações.

vdboor
fonte
8
Isso é legal e tudo, mas a pergunta original especificou o IIS 6, por isso estou confuso que uma resposta específica para o IIS 7.5 tenha sido marcada como 'aceita'. Havia uma solução para o IIS 6?
Tim Long
@ Tim: você pode usar a reescrita ISAPI mencionada abaixo, mas fora isso, eu não estou familiarizado com as soluções IIS6.
vdboor
Estou tendo problemas na minha máquina Win10 e não consigo instalar isso. Existem limitações para esses módulos? É necessário executá-lo em um servidor OS da MS? graças
fpdragon
1
Esteja ciente de que há problemas reverter solicitações POST de proxy usando este método
Casper Leon Nielsen
2
@CasperLeonNielsen Você poderia nos indicar mais detalhes sobre os possíveis problemas do POST?
Jens Ehrich
17

Estou usando um software de terceiros para Windows (IIS) para esse fim, que - além de outras coisas como reescrita de URL - faz esse trabalho muito bem: ISAPI Rewrite .

O ISAPI Rewrite é um poderoso mecanismo de manipulação de URL baseado em expressões regulares. Ele atua principalmente como o mod_Rewrite do Apache, mas foi projetado especificamente para o Internet Information Server (IIS) da Microsoft. O ISAPI Rewrite é um filtro ISAPI escrito em C / C ++ puro, por isso é extremamente rápido. ISAPI_Rewrite oferece a liberdade de ir além dos esquemas de URL padrão e desenvolver seu próprio esquema.

Procure por "Proxying". Aqui está a documentação para a regra RewriteProxy .

Há também um projeto de código aberto muito semelhante: o Isapi Rewrite Filter da Ionic .

splattne
fonte
link para o doc para IIRF ProxyPass: cheeso.members.winisp.net/Iirf20Help/html/…
Cheeso
2
+1 - Isso funciona bem no IIS 6. #
Evan Anderson
Eu era incapaz de usar RIFI no Windows 2008 R2 SP1, por causa desta questão: iirf.codeplex.com/workitem/32479
Peter K.
1

Não, não no IIS 6. Veja como usar o nginx / ubuntu (ou mesmo o nginx no Windows) como um proxy reverso na frente do servidor IIS6. Tivemos que usar o IIS7.5 para recursos de proxy reverso

John Fox
fonte
-3

Este artigo da Microsoft KB deve ajudar a responder a esta solicitação.

Procedimentos para redirecionar solicitações para outro site ou diretório:

  1. No Gerenciador do IIS, expanda o computador local, clique com o botão direito do mouse no site ou diretório que você deseja redirecionar e clique em Propriedades.

  2. Clique na guia Diretório Inicial, Diretório Virtual ou Diretório.

  3. Em O conteúdo desta fonte deve vir, clique em Um redirecionamento para um URL.

  4. Na caixa Redirecionar para, digite a URL do diretório ou site de destino.

Nick O'Neil
fonte
6
Dada a tag "proxy reverso" na pergunta do pôster, acho que ele está procurando a funcionalidade de proxy reverso e não um redirecionamento HTTP.
Evan Anderson
5
O outro servidor não está disponível publicamente para infelizmente isso não iria funcionar
Daniel O
Isto é simplesmente errado.
Tacos_tacos_tacos