É possível vincular nomes de domínio ao servidor VisualSVN e IIS em uma caixa sem usar uma porta?

5

Tenho uma máquina executando o VisualSVN Server para SCM e o IIS, que hospeda um front-end da Web para executar algumas tarefas de gerenciamento de repositório. Idealmente, gostaria de vincular um nome de domínio diferente a cada um, mas parece que não posso fazer isso sem especificar uma porta em pelo menos um dos nomes. Para todos os efeitos, parece que não é possível executar dois servidores da Web em uma máquina e ter solicitações da porta 80 para cada uma, mesmo se as solicitações forem para nomes de domínio diferentes. É este o caso ou há uma maneira de contornar isso? Estou relutante em colocar um número de porta em um deles, pois não é particularmente amigável ao usuário.

    
por Troy Hunt 07.09.2009 / 03:27

3 respostas

10

Você pode executar o VisualSVN Server e o IIS lado a lado na mesma porta usando vários endereços IP nas interfaces de rede: link

Para configurar o VisualSVN Server, ligue apenas a interfaces específicas, use os seguintes passos:

  1. Executar o Gerenciador de servidores do VisualSVN
  2. Clique com o botão direito no elemento raiz e escolha Propriedades
  3. Mude para a guia Rede
  4. Selecione o botão de opção "Estes endereços IP"
  5. Clique em Adicionar Digite o endereço IP de interface para ouvir
  6. Clique em OK para fechar a interface Adicionar diálogo
  7. Clique em OK para fechar a janela Propriedades

Para configurar o IIS em uma interface específica, use as seguintes etapas:

  1. Iniciar prompt de comando elevado
  2. Execute o seguinte comando:

    netsh http add iplisten ipaddress=IPADDRESS
    
por 07.09.2009 / 07:15
3

Uma alternativa, se você tiver o tipo certo de firewall / proxy de camada de aplicativo capaz de regravar a URL, poderá manter todos os serviços de back-end em portas uniqie e publicá-los por meio do firewall / proxy na porta 80, mas com URLs diferentes.

O ISA Server da Microsoft, por exemplo, é capaz de fazer exatamente isso. O servidor ISA pode abrir uma solicitação recebida, examinar a URL e, com base na URL encontrada, redirecionar a solicitação para uma URL e / ou porta completamente diferente. Isso cria uma configuração muito segura, porque o servidor back-end só fala com o firewall, nunca há tráfego direto.

Nesse cenário, os usuários direcionariam solicitações para o servidor de firewall / proxy e nunca diretamente para o servidor de backend real.

O ISA Server é um componente padrão do Premiun Edition do Small Business Server 2003, embora tenha sido desativado para a versão de 2008.

Essa técnica pode funcionar e eu tenho vários servidores IIS de back-end publicados usando essa técnica exata, mas descobri que com soluções baseadas em Apache sendo executadas no mesmo sistema do IIS, o gerenciamento simplificado usa vários endereços IP e tem cada dos sistemas usam endereços IP completamente separados, como foi sugerido em uma resposta anterior.

    
por 07.09.2009 / 13:25
2

Você sempre terá que usar duas portas se tiver que competir com os serviços, mas o que você pode fazer é mascarar a segunda porta para que pareça normal.

Você faz isso com um proxy reverso. Basicamente, você diz ao host na execução: 80 para encaminhar todas as solicitações em /SVN/ para http://localhost:81 (ou, no seu caso, tudo em www.example.com ).

No IIS 6, usamos Re-gravação de ISAPI da Helicon . O IIS7 pode ter essa funcionalidade incorporada, nunca verifiquei.

    
por 07.09.2009 / 03:44