# Konfiguracja serwera Apache dla klastra posredniczacego
#
### Podstawowa konfiguracja serwera

# Proxy przybiera tozsamosc witryny WWW...
ServerName               www.alpha-complex.com

# Podstawowa konfiguracja.
# Zauwaz, ze DocumentRoot okresla 'bezpieczna' niestotna wartosc, gdyz nie
# obslugujemy niczego bezposrednio
ServerAdmin              webmaster@alpha-complex.com
ServerRoot               /usr/local/apache
DocumentRoot             /usr/local/apache/proxysite
ErrorLog                 /usr/local/apache/proxy_error
TransferLog              /usr/local/apache/proxy_log

# Wybierz nieuprzywilejowanego uytkownika i grupe.
User httpd
Group httpd

# Dynamiczne serwery laduja tu swoje moduly...
# Zauwazmy, ze jesli proxy jest tylko proxy to nie potrzeba ladowac wiekszosci
# modulow standardowych.

# Nie marnuj czasu na niepotrzebne rzeczy.
HostnameLookups off

# To jest serwer posredniczacy proxy, zatem wylacz wszelkie inne funkcje
<Directory />
  Options None
  AllowOverride None
</Directory>

# Zezwalaj lokalnemu klientowi na dostep do informacji o statusie serwera.
<Location />
  order allow,deny
  deny from all
  allow from 127.0.0.1
  SetHandler server-status
</Location>

### Czesc 1 - Podstawianie

# wlacz podstawianie adresow URL
RewriteEngine on

# Definiuj dziennik dla diagnostyki, ale ustaw poziom rejestracji na zero by to
# wylaczyc i poprawic wydajnosc
RewriteLog logs/proxy_rewrite
RewriteLogLevel 0

# definiuj mape serwerow klastra
RewriteMap cluster rnd:/usr/local/apache/rewritemaps/cluster.txt

# podstawiaj adres URL, jeli pasuje do nazwy hosta serwera WWW
RewriteRule ^http://www\.(.*)$ http://{cluster:www}.$2 [P,L]

# zakaz dostepu do kazdego URL, ktory nie pasuja do wzorca
RewriteRule .* - [F]

### Czesc 2 - Proxy

ProxyPassReverse  /  http://www1.alpha-complex.com/
ProxyPassReverse  /  http://www2.alpha-complex.com/
ProxyPassReverse  /  http://www3.alpha-complex.com/
ProxyPassReverse  /  http://www4.alpha-complex.com/
ProxyPassReverse  /  http://www5.alpha-complex.com/
ProxyPassReverse  /  http://www6.alpha-complex.com/

# Nie chcemy buforowania, wolimy zezwolic by serwery wewnetrzne przejely
# obciazenie, ale gdybysmy chcieli wlaczyc buforowanie to:
#
# tylko Apache 2.0:
CacheOn on
CacheEnable disk /
# Apache 2.0 i 1.3:
#CacheRoot /usr/local/apache/proxy
#CacheSize 102400
