
Eu tenho dois servidores squid, Squid A e Squid B.
O Squid A armazena em cache de forma transparente para a rede local.
Eu gostaria de configurar o Squid A para que em uma solicitação de uma URL correspondente a um regexp, em vez de atender a solicitação normalmente, ele "redirecione" através do Squid B para que o Squid B atenda a solicitação, passe o resultado de volta para o Squid A que passa para o cliente.
Como configuro o arquivo de configuração do Squid A para fazer isso?
Responder1
Use o seguinte na configuração do squid A (normalmente /etc/squid/squid.conf)
cache_peer <squid server B IP> parent <server B squid port> 3130 no-query no-digest no-netdb-exchange
acl otherproxy url_regex "/etc/squid/divert.txt"
cache_peer_access <Squid server B IP> allow otherproxy
never_direct allow otherproxy
cache_peer_access <squid server B IP> deny all
E seguindo na configuração do squid B no topo de outras acls
acl A_proxy src <Squid server A IP>/32
http_access allow A_proxy
Depois disso, você pode adicionar expressões regulares ao arquivo /etc/squid/divert.txt e recarregar o squid. Os URLs correspondentes serão solicitados ao Servidor B e não diretamente.
A razão pela qual mencionei a adição de acl no proxy B também é evitar configurações de autenticação, limite de conexão, etc. no proxy B que afetam os clientes do proxy A, pois esses problemas são muito difíceis de depurar. Portanto, é melhor permitir todas as solicitações do proxy A para o proxy B. Se você deseja bloquear algo, bloqueie-o em ambas as configurações de proxy.
Responder2
você quer algo como o seguinte no squid.conf do squid A. use-o como exemplo e ajuste para atender às suas necessidades exatas.
#define o squid B como pai cache_peer squid.b.example.com pai 3128 3130 padrão # crie ACLs para quaisquer domínios ou intervalos de endereços IP que você # não quero receber do pai (squid B). por exemplo: acl domínio_local_domains seu.local.domains.here acl local_ip dst seu.local.ip.addresses.here Always_direct_allow local_domains Always_direct permite local_ip # e negar acesso direto a todo o resto never_direct permite todos
Responder3
O Squid possui especificamente um recurso de suporte à organização hierárquica de servidores proxy. Opágina de manual do squidtem excelente documentação sobre esse assunto.