Disclaimer: This manual is NOT a Squid tutorial. It is only a reference material that provides detailed explanation of all configuration parameters available in Squid 2.4. The reader is expected to have prior knowledge of basic Squid installation and configuration. For Complete tutorial on Squid, please visit http://www.squid-cache.org

Squid 2.4 Configuration Manual

<<Back

Support for external functions

Tag Name ftp_user
Usage ftp_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

Default ftp_user Squid@

Example
ftp_user squid@squid.visolve.com

 

Tag Name ftp_list_width
Usage ftp_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.

Default ftp_list_width 32

Example
ftp_list_width 64

 

Tag Name ftp_passive
Usage ftp_passive on|off

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

Default ftp_passive on

 

Tag Name cache_dns_program
Usage cache_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.

Default cache_dns_program /usr/local/squid/libexec/squid/

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

 

Tag Name dns_children
Usage dns_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.

Default dns_children 5

Example
dns_children 10

Caution
You must have at least one dnsserver process

 

Tag Name dns_retransmit_interval
Usage dns_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

Default dns_retransmit_interval 5 seconds

 

Tag Name dns_timeout
Usage dns_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

Default dns_timeout 5 minutes

 


Tag Name dns_defnames
Usage dns_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.

Default dns_defnames off

 

Tag Name dns_nameservers
Usage dns_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

Default dns_nameservers none

Example
dns_nameservers 172.16.1.102 204.54.6.20

 

Tag Name diskd_program
Usage diskd_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.

Default diskd_program /usr/local/squid/libexec/squid/diskd

Example
diskd_program /local/squid/bin/diskd

 

Tag Name unlinkd_program
Usage unlinkd_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

Default unlinkd_program /usr/local/squid/libexec/squid/unlinkd

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

 

Tag Name pinger_program
Usage pinger_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

Default pinger_program /usr/local/squid/libexec/squid/

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

 

Tag Name redirect_program
Usage redirect_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

Default redirect_program none

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

 

Tag Name redirect_children
Usage redirect_children number

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

Default redirect_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 Name redirect_rewrites_host_header
Usage redirect_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

Default redirect_rewrites_host_header on

 

Tag Name redirector_access
Usage redirector_access allow|deny

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

Default All requests are sent

Example
redirector_access allow aclname

 

Tag Name authenticate_program
Usage authenticate_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.

Default authenticate_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 Name authenticate_children
Usage authenticate_children number

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

Default authenticate_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 Name authenticate_ttl
Usage authenticate_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.

Default authenticate_ttl 3600

 

Tag Name authenticate_ip_ttl
Usage authenticate_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.

Default authenticate_ip_ttl 0

Example
authenticate_ip_ttl 3600

 

Tag Name authenticate_ip_ttl_is_strict
Usage authenticate_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.

Default authenticate_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.
 
 
Revision No:0.0  
Last Modified By: ViSolve Date: July 30 2006