Configure o Proxy Reverso do IIS 7 para se conectar ao Tomcat do TeamCity

11

Temos um servidor da web IIS 7 configurado e gostaríamos de criar um proxy reverso para uma instalação TeamCity usando o Tomcat strong> na mesma máquina.

O site do servidor IIS é https://somesite e gostaria que o TeamCity aparecesse como https://somesite/teamcity redirecionando para http://localhost:portnumber .

Eu instalei a extensão de regravação de URL do IIS e a < a href="http://www.iis.net/download/ApplicationRequestRouting" title="Roteamento de Solicitação de Aplicativo"> Roteiro de Solicitação de Aplicativo para tentar configurar um proxy reverso, mas pode ' não funciona.

A resposta mais próxima que encontrei é uma velha pergunta do StackOverflow: link
que infelizmente não tem nenhum exemplo de trabalho.

Eu pesquisei um pouco, mas não consigo encontrar um exemplo relevante.

Qualquer ajuda é apreciada!

    
por Cynicszm 14.10.2010 / 12:55

4 respostas

11

Tendo gastado cerca de 4 horas tentando configurar o SSL para o TeamCity (e usando as respostas neste segmento), consegui fazer isso funcionar usando a opção de farm de servidores.

  • Configurei um farm de servidores TeamCity que incluía meu servidor TeamCity no 127.0.0.1 usando a porta 8080 e permiti que as regras de roteamento de aplicativos criassem uma regra de roteamento do farm de servidores correspondente.

  • Eu então criei um site chamado TeamCitySecureProxy que eu configurei com um certificado auto-assinado. Nos enlaces eu configurei apenas https / 443 (não http / 80).

  • A parte que estava faltando: - Em seguida, cliquei no nó 'TeamCity' em 'Server Farms' no IIS, escolha 'Proxy' no painel 'Server Farm' e marquei a opção 'Reverse' reescrever o host nos cabeçalhos de resposta.

Agora tenho um ponto de extremidade seguro para acessar minha instalação http simples do TeamCity.

    
por 06.04.2012 / 17:39
1

Você também pode usar um conector para fazer isso.

Existe o conector ISAPI (redirecionador) antigo disponível diretamente do Apache ou há também um novo disponível do RiaForge (este parece ser mais fácil de ser executado).

link

    
por 04.04.2011 / 15:47
1

Verifique se o proxy do ARR está habilitado na GUI do IIS. Você provavelmente deseja preservar o cabeçalho do host (pode ser necessário editar manualmente o applicationHost.config ou usar o appcmd para definir este) e reverter novamente o host nas opções de cabeçalho de resposta ativadas, para que o navegador faça solicitações e veja respostas que correspondam ao Host certificado SSL.

  1. site do IIS em 443 (e 80 provavelmente?) - ouvindo todas as solicitações (não especifique o nome do host)
  2. veja todos os caminhos recebidos: URL de correspondência (.*)
  3. procure o caminho do TeamCity, preserve o restante do caminho: condition {URL} corresponde a ^teamcity(/.*)?
  4. regravar com caminho preservado: ação reescrita, http://localhost:port/{C:1}
  5. anexar a sequência de consultas marcada
  6. e parar de processar mais regras provavelmente verificadas

Acho que isso deve ser feito.

<rule name="Demo Rule" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{URL}" pattern="^teamcity(/.*)?" />
    </conditions>
    <action type="Rewrite" url="http://localhost:8080/{C:1}" />
</rule>
    
por 25.12.2010 / 13:51
0

Acabei de fazer isso sozinho e acabei de postar um blog sobre isso.

Você parece ter instalado todos os requisitos, agora só precisa configurar o servidor:

link

    
por 27.10.2010 / 12:43