🔗 Feature: SRV based origin server location
- Goal: Make use of DNS SRV records to locate the origin server for a given website.
- Status: in progress; a working redirector-based proof-of-concept is available. It can be improved upon, with the aim of mimicking Squid’s internal processes.
- ETA: unknown
- Proof of Concept: FrancescoChemolli
🔗 Proof Of Concept Code
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.
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:
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.
The redirector is RFC-compliant at version 0.4. Andrews’ draft is the next target for integration.
Categories: WantedFeatureNavigation: Site Search, Site Pages, Categories, 🔼 go up