Chapter 3. The SQUID proxy server

Table of Contents

What is a proxy server?
So how does a proxy work?
SQUID configuration
Setting the port on which SQUID listens
The SQUID user
Access control to the proxy server
Setting the cache_dir
Testing your proxy
Lynx error message
Automatic client proxy configuration
Setting the cache administrator
Speeding up the response of your proxy
Hierarchies of proxies

What is a proxy server?

In the early days of the development of the Internet, users were allowed unlimited access to it's resources.

Since many companies had few Internet users, this presented very little problem. However, the Internet has grown, probably exceeding what the original designers ever dreamed and with this expansion, comes the need to increase the speed.

One method of achieving this is by keeping copies of the web sites visited by people within an organization, so that, should another individual visit the same site within a short time span from the original visit, the second visitor would get significantly improved response as the web page would have been stored (cached) on a local server. This not only reduces latency, but also has the added advantage of limiting the consumption of expensive bandwidth by the users themselves. This method of increasing the speed is done by setting up a proxy server.

There are some additional advantages to using a proxy server, and these are:

  1. Since all users are now forced to use the proxy instead of going directly to the Internet, a degree of control is offered to the system and network administrators.

  2. Using the proxy they have the ability to restrict the users to particular times of the day, or by machine name, or by network IP address range.

  3. Added to this, they have the ability to block the users from visiting undesirable sites, do usage accounting and force authentication prior to accessing the Internet.

All this adds up to a very useful tool and under Linux, this tool is called SQUID.