[squid-users] DNS lookup fails initially for FQDN in squid

Amos Jeffries squid3 at treenet.co.nz
Wed Jun 1 11:27:12 UTC 2016

On 1/06/2016 9:05 a.m., Aashima Madaan wrote:
> Hey Amos,
>> What is causing the problem is that ICAP services need to be working
>> *immediately* and do not wait for DNS results to come back. If they are
>> not available immediately then the service is not contactable for that
>> transaction.
>> Adding /etc/hosts entries makes Squid load the name+IP details on
>> startup before ICAP is used. So the problem does not appear.
> Is there a configuration for squid where we can ask it to perform DNS lookup immediately rather than doing later when it sends an OPTIONS request again.

No. DNS lookups are done when they are identified as being needed.

We could perhapse perform a 'seed' lookup while parsing the config.
Though that would be a bit tricky if DNS is differently configured later
in squid.conf than ICAP.

Does the attached patch resolve the issue for you?


-------------- next part --------------
=== modified file 'src/adaptation/ServiceConfig.cc'
--- src/adaptation/ServiceConfig.cc	2016-01-13 10:10:20 +0000
+++ src/adaptation/ServiceConfig.cc	2016-06-01 11:20:31 +0000
@@ -14,6 +14,8 @@
 #include "Debug.h"
 #include "globals.h"
 #include "ip/tools.h"
+#include "ipcache.h"
 #include <set>
@@ -234,6 +236,7 @@
     host.limitInit(s, len);
+    (void)ipcache_gethostbyname(host.termedBuf(), IP_LOOKUP_IF_MISS);
     if (secure.sslDomain.isEmpty())
         secure.sslDomain.assign(host.rawBuf(), host.size());

More information about the squid-users mailing list