Eu já vi essa pergunta muitas vezes em serverfault (e outros lugares), mas não encontrei uma solução.
Estou usando o pacote padrão do Ubuntu 12.04 do Squid versão 3.1.19.
Eu recebo o seguinte erro em um navegador:
The following error was encountered while trying to retrieve the URL: http://www.standardandpoors.com/home/en/us
Unable to determine IP address from host name www.standardandpoors.com
The DNS server returned:
Name Error: The domain name does not exist.
This means that the cache was not able to resolve the hostname presented in the URL. Check if the address is correct.
Do servidor proxy, posso resolver o endereço muito bem.
erro access.log: 1361372441.048 216 10.0.0.5 TCP_MISS / 503 4907 GET link - DIRETO / www. standardandpoors.com text / html
Por alguma razão, parece não estar resolvendo e o código de peering DIRECT está mostrando o nome do host em vez do ip. Os IPs aparecem em todas as outras solicitações.
log_ip_on_direct está em
Eu tentei desativar o cache, explicitamente usando a diretiva dns_nameservers, mesmo colocando o host em / etc / hosts. Qualquer ajuda é apreciada!
Eu descobri que quando eu uso um DNS público com dns_nameservers (tentei com 8.8.8.8) o IP resolve e não recebo um erro do squid. Não consigo usar um DNS público para intranet, etc., portanto, não é uma solução. Também como mencionei antes, resolve com o nslookup.
Outra coisa estranha é que uma captura de pacote ao tentar navegar com um navegador no servidor que não passa pelo proxy mostra:
Resposta de consulta padrão do DNS, nenhum nome como
Uma captura ao fazer um nslookup do mesmo servidor mostra:
Resposta de consulta padrão do DNS A 204.8.132.217
EDITAR Usar o proxy WinGate com os mesmos servidores DNS locais funciona.