Encadeamento de duas lulas

Encadeamento de duas lulas

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.

informação relacionada