Tips and Tricks
The configuration is done in the squid.conf. These are the configuration statements:
Services are selected on a per request basis. For every request, the icap_access statements are processed. If an acl list matches, the corresponding class (or service for backward compatibility) is associated with the request. An ICAP class is a collection of single ICAP services.
icap_enable switches the ICAP module on.
icap_send_client_ip switches the header "X-Client-IP"
in ICAP requests on. This is useful if you want the ICAP server to do
different things depending on the client IP.
icap_preview_size sets the default preview size to be used.
-1 means no preview.
icap_service defines a single ICAP service.
"name" is an arbitrary name that is used in
reference this service.
"vpoint" is the vectoring point where the service is plugged
into. This can be one of
"bypass" specifies whether omitting the service is allowed
when the server is not reachable. This can be either
"url" is an ICAP URL as specified in the ICAP protocol specification.
icap_class collects services for a service
list. This is useful when you want to use more than one ICAP
service per request.
icap_access builds up an access control list that
is processed for each HTTP request. If all of the acls match,
processing stops at this line. If the action is to allow, then the
specified class or service will be used for this request. If the
action is to deny, then processing will stop without using ICAP
for this request. To make a deny rule clearer, you can use the special
class "None" there.
First, we will define some services:
icap_service service_1 reqmod_precache 0 icap://localhost:1344/reqmod icap_service service_2 respmod_precache 0 icap://localhost:1344/respmod
We want to use these two services together in a request, so we will define a class:
icap_class class_1 service_1 service_2
We want to apply these ICAP services only between 10.00 and 12.00 for requests to the server foobar.com:
acl from_10_to_12 time 10:00 12:00 acl foobar_server url_regex foobar\.com icap_access class_1 allow from_10_to_12 foobar_server