Squid Web Cache wiki

Squid Web Cache documentation

🔗 Feature: SRV based origin server location

🔗 Proof Of Concept Code

Configuration snippet:

url_rewrite_program /path/to/srv-redir.pl
url_rewrite_children 5
url_rewrite_concurrency 0
url_rewrite_host_header off

Some tuneables are in the redirector script itself.

🔗 Details

DNS SRV records, defined in RFC 2782 can help attain some level of high availability and load balancing in a very straightforward manner. Their query structure includes a naming convention to locate a certain well-known network service, and their reply structure includes two different fields to indicate the level of priority a certain pointer of a set has.

For example a query: ` _http._tcp.www.kinkie.it. SRV ` Might return results similar to those:

priority weight target
10 10 srv1.kinkie.it.
10 10 srv2.kinkie.it.
20 5 backupsrv.kinkie.it.

Quoting from the RFC:

A client MUST attempt to
contact the target host with the lowest-numbered priority it can
reach; target hosts with the same priority SHOULD be tried in an
order defined by the weight field.  The range is 0-65535.  This
is a 16 bit unsigned integer in network byte order.
[...]
The weight field specifies a
relative weight for entries with the same priority. Larger
weights SHOULD be given a proportionately higher probability of
being selected.

The (expired) Internet Draft draft-andrews-http-srv tries to address some inconsistencies of the general addressing scheme.

🔗 Status

The redirector is RFC-compliant at version 0.4. Andrews’ draft is the next target for integration.

Categories: WantedFeature

Navigation: Site Search, Site Pages, Categories, 🔼 go up