Posso configurar o Ubuntu para usar um proxy para um subconjunto de sites?

1

Eu deveria começar com isto afirmando que eu não sei basicamente nada sobre proxies (apesar de ter escrito um proxy de cache de brinquedo há algum tempo atrás:)).

Eu tenho um pequeno cluster de servidores rodando atrás de um firewall. Um desses servidores ("server0") pode ser conectado via http na porta 8080, o restante está bloqueado. Eu gostaria de configurar um proxy no server0 para que ele encaminha solicitações para server1, server2, etc.

Eu também gostaria de configurar minhas máquinas cliente (todas executando Ubuntu) para usar o proxy no servidor0: 8080, mas apenas para URLs que atingem o servidor *, não para o restante do tráfego. Até agora, só consegui encontrar instruções para configurar um proxy para todo o tráfego, não apenas o que corresponde a alguns regex.

Isso é possível? Alguma dica / links / etc?

Recomendações também sobre a escolha apropriada do software proxy seriam ótimas.

Obrigado.

    
por SquareCog 04.09.2009 / 02:22

4 respostas

3

Pessoalmente eu uso o verniz como um proxy reverso (que eu acho muito mais para a tarefa, ao contrário do Squid que era não nasceu como um proxy reverso) e tem recurso avançado para redirecionar o tráfego para diferentes infra-estruturas de conteúdo, dependendo do que você quiser (round robin, expressões regulares, balanceamento de carga ... é realmente poderoso). Se você estiver interessado, posso elaborar mais sobre o assunto.

Sobre a segunda parte da questão (usando um proxy apenas para alguns endereços), você pode usar um arquivo PAC tão simples quanto:

function FindProxyForURL(url, host) {
    if (shExpMatch(host, "*.mydomain.com"))
        return "SOCKS 10.0.0.1:1080";
    return "DIRECT";
}
    
por 04.09.2009 / 06:38
1

FoxyProxy é uma extensão do Firefox que permite configurar o FireFox para que urls que correspondam a um regex específico sejam enviados a um proxy específico. Isso parece exatamente o que você quer, mas pode ser difícil administrá-lo centralmente.

Pode ser possível usar o WPAD para ter um arquivo pac de proxy que diz que apenas certas URLs usam determinados proxies, mas não tenho certeza, teria que pesquisar isso.

Essa abordagem parece excessivamente complexa. Eu sugeriria que é melhor ter um proxy central pelo qual todos passam e então o próprio proxy pode decidir para onde encaminhar solicitações. Eu acredito que com o Squid você pode dizer que "pedidos para este URL devem ser encaminhados através deste outro proxy".

    
por 04.09.2009 / 03:58
0

Acho que o que você está procurando é algo como squid (um proxy reverso)

    
por 04.09.2009 / 02:34
0

Como @mohsen disse, parece que você quer um proxy reverso. Se o squid parecer um pouco difícil de configurar, você pode tentar algo simples como pound ou varnish . Alternativamente, algo como lighttpd pode ser configurado como um proxy reverso com mod_proxy.

    
por 04.09.2009 / 05:17