Pound - Reverse Proxy und Load-Balancer

Pound ist ein

  • Reverse-Proxy (Proxy vor dem Webserver)
  • ein Lastverteiler (frontend für mehrere Webserver im Hintergrund)
  • und ein HTTPS-Wrapper (hereinkommende verschlüsselte Kommunikation entschlüsseln und diese dann unverschlüsselt an den im Hintergrund arbeitenden Webserver weiterleiten, z.B. für Anwendungen die das nicht unterstützen)

Konfiguration

## Minimal sample pound.cfg
##
## see pound(8) for details


######################################################################
## global options:

User		"www-data"
Group		"www-data"
#RootJail	"/chroot/pound"

## Logging: (goes to syslog by default)
##	0	no logging
##	1	normal
##	2	extended
##	3	Apache-style (common log format)
LogLevel	1

## check backend every X secs:
Alive		30

## use hardware-accelleration card supported by openssl(1):
#SSLEngine	"<hw>"

# poundctl control socket
Control "/var/run/pound/poundctl.socket"


######################################################################
## listen, redirect and ... to:

## redirect all requests on port 8888 ("ListenHTTP") to the local webserver (see "Service" below):

ListenHTTP
	Address 0.0.0.0
	Port 80
	xHTTP 2

	Service
		Redirect "https://my-host.tld"
	End
End

ListenHTTPS
	Address 0.0.0.0
	Port 443
	Cert "/etc/pound/my-host.tld.pem"
	AddHeader "HTTPS: ON"
	Service
		URL ".*"
		Backend
			Address 127.0.0.1
			Port 8888
		End
	End
End