| =================== |
| the Proxy Interface |
| =================== |
| |
| ----------------- |
| Module: mod_proxy |
| ----------------- |
| |
| :Author: Jan Kneschke |
| :Date: $Date: 2004/08/01 07:01:29 $ |
| :Revision: $Revision: 1.1 $ |
| |
| :abstract: |
| The proxy module a simplest way to connect lighttpd to |
| java servers which have a HTTP-interface. |
| |
| .. meta:: |
| :keywords: lighttpd, Proxy |
| |
| .. contents:: Table of Contents |
| |
| Description |
| =========== |
| |
| ... |
| |
| Options |
| ======= |
| |
| lighttpd provides the Proxy support via the proxy-module |
| (mod_proxy) which provides 2 options in the config-file: |
| |
| :proxy.debug: |
| a value between 0 and 65535 to set the debug-level in the |
| Proxy module. Currently only 0 and 1 are used. Use 1 to |
| enable some debug output, 0 to disable it. |
| |
| :proxy.balance: |
| might be one of 'hash', 'round-robin' or 'fair' (default). |
| |
| 'round-robin' choses another host for each request, 'hash' |
| is generating a hash over the request-uri and makes sure |
| that the same request URI is sent to always the same host. |
| That can increase the performance of the backend servers |
| a lot due to higher cache-locality. 'fair' is the normal |
| load-based, passive balancing. |
| |
| :proxy.server: |
| tell the module where to send Proxy requests to. Every |
| file-extension can have its own handler. Load-Balancing is |
| done by specifying multiple handles for the same extension. |
| |
| structure of proxy.server section: :: |
| |
| ( <extension> => |
| ( |
| ( "host" => <string> , |
| "port" => <integer> ), |
| ( "host" => <string> , |
| "port" => <integer> ) |
| ), |
| <extension> => ... |
| ) |
| |
| :<extension>: is the file-extension or prefix (if started with "/") |
| might empty to match all requests |
| :"host": is ip of the proxy server |
| :"port": is tcp-port on the "host" used by the proxy |
| server (default: 80) |
| |
| e.g.: :: |
| |
| proxy.server = ( ".jsp" => |
| ( ( |
| "host" => "10.0.0.242", |
| "port" => 81 |
| ) ) |
| ) |
| |
| Example: |
| ======== |
| |
| Using lighttpd + mod_proxy in front of 8 Squids which handle the |
| caching of dynamic content for you. All requests for the host |
| www.example.org should be forwarded to the proxy. All proxies |
| listen on port 80 for requests. :: |
| |
| $HTTP["host"] == "www.example.org" { |
| proxy.balance = "hash" |
| proxy.server = ( "" => ( ( "host" => "10.0.0.10" ), |
| ( "host" => "10.0.0.11" ), |
| ( "host" => "10.0.0.12" ), |
| ( "host" => "10.0.0.13" ), |
| ( "host" => "10.0.0.14" ), |
| ( "host" => "10.0.0.15" ), |
| ( "host" => "10.0.0.16" ), |
| ( "host" => "10.0.0.17" ) ) ) |
| } |
| |
| If one of the hosts goes down the all requests for this one server are |
| moved equally to the other servers. If you want to know more about |
| the algorithm used here google for 'Microsoft CARP'. |
| |
| |