<<Back

Support for external functions

Tag Nameftp_user
Usageftp_user username

Description
This tag can be used if you want the anonymous login password to be more informative. You can set this to something reasonable for your domain, like squid@squid.visolve.com. The reason why this is domain less by default is that the request can be made on the behalf of a user in any domain, depending on how the cache is used. Some ftp servers also validate the email address. For detailed explanation Click Here

Defaultftp_user Squid@

Example
ftp_user squid@squid.visolve.com

 

Tag Nameftp_list_width
Usageftp_list_width number

Description
This tag is used to set the width of ftp listings. This should be set to fit in the width of a standard browser. Setting this too small can cut off long filenames when browsing ftp sites.

Defaultftp_list_width 32

Example
ftp_list_width 64

 

Tag Nameftp_passive
Usageftp_passive on|off

Description
If your firewall does not allow Squid to use passive connections, then turn off this option.

Defaultftp_passive on

 

Tag Namecache_dns_program
Usagecache_dns_program program

Description
This tag is used to specify the location of the executable for dns lookup process. This option is only available if Squid is rebuilt with the --disable-internal-dns option.

The external dns program uses the normal resolver libraries which is a much more mature DNS client. The internal DNS client still has some problems with special cases in the DNS protocol. However, things has gotten a lot better compared to the early version so any of these issues are not likely to be noticed, and is heavily out weighted by the improved performance and reliability. But drawbacks of the external DNS helper are likely to be noticed when using external DNS. If DNS lookups are slow then the external DNS helper will hit the roof and no further DNS lookups can complete (some Squid versions even abort in such case).

Recommendation: Use the internal DNS client unless an experience problem which forces to use the external one until a fix is provided.

Defaultcache_dns_program /usr/local/squid/libexec/squid/

Example
cache_dns_program /usr/local/squid/bin/dnsserver

 

Tag Namedns_children
Usagedns_children number (1 to 32)

Description
The number of processes spawn to service DNS name lookups are specified here. For heavily loaded caches on large servers, There is probably need to increase this value to at least 10. The maximum is 32. The default is 5. This option is only available if Squid is rebuilt with the --disable-internal-dns option. The number of processes increases, the performance of DNS lookups also increases. It is recommended to use maximum child processes (32).

The limitation that the external dnsserver helper can only handle one DNS lookup at a time and cannot be aborted prior to the 2 minutes DNS lookup time-out. The internal DNS client does not have this limitation and can handle any number of concurrent lookups. See the description of cache_dns_program.

Defaultdns_children 5

Example
dns_children 10

Caution
You must have at least one dnsserver process

 

Tag Namedns_retransmit_interval
Usagedns_retransmit_interval time-units

Description
This tag is used to set the initial retransmit interval for DNS queries. The interval is doubled each time all configured DNS servers have been tried

Defaultdns_retransmit_interval 5 seconds

 

Tag Namedns_timeout
Usagedns_timeout time-units

Description
This tag is used to set the DNS Query time-out. If no response is received to a DNS query within this time then all DNS servers for the queried domain is assumed to be unavailable

Defaultdns_timeout 5 minutes

 


Tag Namedns_defnames
Usagedns_defnames on|off

Description
Normally the 'dnsserver' disables the RES_DEFNAMES resolver option (see res_init(3)). This prevents caches in a hierarchy from interpreting single component hostnames locally. To allow dnsserver handle single component names, enable this option. This option is only available if Squid is rebuilt with the --disable-internal-dnsoption.

Defaultdns_defnames off

 

Tag Namedns_nameservers
Usagedns_nameservers IPaddress

Description
This tag can be used if you want to specify a list of DNS name servers (IP addresses) to use instead of those given in your /etc/resolv.conf file

Defaultdns_nameservers none

Example
dns_nameservers 172.16.1.102 204.54.6.20

 

Tag Namediskd_program
Usagediskd_program path/to/diskdfile

Description
To specify the location of the diskd executable. Note that this is only useful if you have compiled in diskd as one of the store io modules.

Defaultdiskd_program /usr/local/squid/libexec/squid/diskd

Example
diskd_program /local/squid/bin/diskd

 

Tag Nameunlinkd_program
Usageunlinkd_program path/to/unlinkedfile

Description
This tag specifies the location of the unlinkd program. This isn't needed if you are using async-io since it's handled by a thread

Defaultunlinkd_program /usr/local/squid/libexec/squid/unlinkd

Example
unlinkd_program /usr/local/squid/bin/unlinkd

 

Tag Namepinger_program
Usagepinger_program path/to/pingerfile

Description
This tag is used to specify the location of the executable for the pinger process. This is only useful if you configured Squid (during compilation) with the '--enable-icmp' option

Defaultpinger_program /usr/local/squid/libexec/squid/

Example
pinger_program /usr/local/squid/bin/pinger

 

Tag Nameredirect_program
Usageredirect_program path/to/redirector

Description
This tag is used to specify the location of the executable for the URL redirector. Since they can perform almost any function there isn't one included. Click here for information on how to write one. By default, a redirector is not used

Defaultredirect_program none

Example
redirect_program /usr/local/squirm/bin/squirm

 

Tag Nameredirect_children
Usageredirect_children number

Description
This tag is used to set the number of redirect processes to spawn

Defaultredirect_children 5

Example
redirect_children 10

Caution
If you start too few Squid will have to wait for them to process a back log of URLs, slowing it down. If you start too many they will use RAM and other system resources.

 

Tag Nameredirect_rewrites_host_header
Usageredirect_rewrites_host_header on|off

Description
By default Squid rewrites any Host: header in redirected requests. If you are running a accelerator then this may not be a wanted effect of a redirector

Defaultredirect_rewrites_host_header on

 

Tag Nameredirect_access
Usageredirector_access allow|deny

Description
If defined, this access list specifies which requests are sent to the redirector processes

DefaultAll requests are sent

Example
redirector_access allow aclname

 

Tag Nameauthenticate_program
Usageauthenticate_program path/to/program path/to/passwdfile

Description
This tag is used to specify the command for the external authenticator. Such a program reads a line containing "username password" and replies "OK" or "ERR" in an endless loop. If you use an authenticator, make sure you have 1 acl of type proxy_auth. If you want to use the traditional proxy authentication, jump over to the ../auth_modules/NCSA directory and give

# make
# make install

The source for this program is included in the source distribution, in the auth_modules/NCSA directory. You should now have an ncsa_authprogram in the same directory where your squid binary lives. You may need to create a password file. If you have been using proxy authentication before, you probably already have such a file. You can get apache's htpasswd program from here. Pick a pathname for your password file. We will assume you will want to put it in the same directory as your Squid.conf.

Defaultauthenticate_program none By default, the authenticator_program is not used

Example
authenticate_program /usr/local/squid/bin/ncsa_auth /usr/local/squid/etc/passwd

 

Tag Nameauthenticate_children
Usageauthenticate_children number

Description
The number of authenticator processes to spawn (default 5).

Defaultauthenticate_children 5

Caution
If you start too few Squid will have to wait for them to process aback log of usercode/password verifications, slowing it down. When password verifications are done via a (slow) network you are likely to need lots of authenticator processes.

 

Tag Nameauthenticate_ttl
Usageauthenticate_ttl seconds

Description
This tag is used to specify the time a checked username/password combination remains cached (default 3600). If a wrong password is given for a cached user, the user gets removed from the username/password cache forcing a revalidation.

Defaultauthenticate_ttl 3600

 

Tag Nameauthenticate_ip_ttl
Usageauthenticate_ip_ttl number

Description
With this option you control how long a proxy authentication will be bound to a specific IP address. If a request using the same user name is received during this time then access will be denied and both users are required to reauthenticate them selves. The idea behind this is to make it annoying for people to share their password to their friends, but yet allow a dialup user to reconnect on a different dialup port. The default is 0 to disable the check. Recommended values if you have dialup users are no more than 60 (seconds). If all your users are stationary then higher values may be used.

Defaultauthenticate_ip_ttl 0

Example
authenticate_ip_ttl 3600

 

Tag Nameauthenticate_ip_ttl_is_strict
Usageauthenticate_ip_ttl_is_strict on|off

Description
This option makes authenticate_ip_ttl a bit stricter. With this enabled authenticate_ip_ttl will deny all access from other IPaddresses until the TTL has expired, and the IP address "owning" the userid will not be forced to reauthenticate.

Defaultauthenticate_ip_ttl_is_strict on

 

 

<<Back
 


All rights reserved.
All trademarks used in this document are owned by their respective companies. This document makes no ownership claim of any trademark(s). If you wish to have your trademark removed from this document, please contact the copyright holder. No disrespect is meant by any use of other companies’ trademarks in this document.
Note: The pages on this website cannot be duplicated on to another site. Copying and usage of the contents for personal and corporate purposes is acceptable. In near future, it will be released under the GNU Free Documentation License.
© ViSolve.com 2002 
Created By: squid@visolve.comDate: May 15,2002
Revision No:0.0 
Modified ByDate