Apache-ProxyConf
view release on metacpan or search on metacpan
Network A: 172.16.0.0/20
_.-"""""""""""""""""-._
.' `.
/ \
| Proxy A1: 172.16.0.10 |
| |
| Proxy A2: 172.16.0.20 |
\ /
`._ _.'\
`-.................-' \
\
\ Network B: 172.16.16.0/20
\
\ _.-"""""""""""""""""-._
.' `.
/ \
| |
| Proxy B: 172.16.16.10 |
| |
\ /
`._ _.'
/ `-.................-'
/
/
Network C: 172.16.32.0/20 /
/
_.-"""""""""""""""""-._ /
.' `.
/ \
| |
| Proxy C: 172.16.32.10 |
| |
\ /
`._ _.'
`-.................-'
Figure 1.
The proxies have the following connectivity:
Proxy A1 Internet connectivity
Proxy A2 Internet connectivity
Proxy B parents with proxy A1 and A2
Proxy C parents with proxy B and A1
Clients in the three networks need to get the following proxy
configuration:
172.16.0.0/20 Half of the clients connect to proxy A1 and use proxy A2
as fallback, the other half use proxy A2 with A1 as
fallback.
172.16.16.0/20 Clients use proxy B with proxy A2 as fallback.
172.16.32.0/20 Clients use proxy C with proxy B as fallback.
For secure HTTP traffic special rules apply. Because this traffic is not
cached all clients connect to proxy A1 and A2 directly spreading the
load equally.
This is how the proxyconf.ini looks:
[proxy]
172.16.0.0/20=(172.16.0.10:3128,172.16.0.20:3128)
172.16.16.0/20=172.16.16.10:3128,172.16.0.20:3128
172.16.32.0/20=172.16.32.10:3128,172.16.16.10:3128
[https]
172.16.0.0/16=(172.16.0.10:3128,172.16.0.20:3128)
EXTRA OPTIONS
It is possible to add additional noproxy hosts in the 'Autoconfigure
URL' in the browser. This way a local webserver can be tested without
losing the benefits of the proxy config. The following string must be
entered in the 'Autoconfigure URL'.
http://proxyconf.some.domain/?noproxy=hostname.some.domain
Multiple hostnames are specified using a comma as separator.
http://proxyconf.some.domain/?noproxy=fqhn1,fqhn2
DEBUGGING
The proxy config service can be called with a debug option. Type the
following URL in a browser:
http://proxyconf.some.domain/?debug=1&ipaddr=172.16.0.100
The script will generate a html page which contains the settings of all
variables and displays the script it sends to the browser for the
specified IP address.
AUTHOR
Patrick Schoo <pschoo@playbeing.com>
Originally written by Bert Driehuis <driehuis@playbeing.org>
( run in 0.566 second using v1.01-cache-2.11-cpan-39bf76dae61 )