This is an old revision of the document!
Turns out it was not as easy as it may seem. This page describes things to do in your Linux host.
Install apache2 with mod_proxy, mod_proxy_html and mod_proxy_http
Enable mod_rewrite, mod_cache, mod_proxy, mod_proxy_http, mod_proxy_html
Throttle the Apache server to match to ITS server:
# ITS can really only handle one connection at a time! MaxRequestsPerChild 1 ThreadsPerChild 1 MaxClients 1
Basic VirtualHost stuff:
<VirtualHost *:80>
ServerAdmin victor@up.update.uu.se
ServerSignature off
ProxyRequests off
ServerName up.update.uu.se
ProxyPreserveHost On
ErrorLog ${APACHE_LOG_DIR}/up-error.log
CustomLog ${APACHE_LOG_DIR}/up-access.log combined
LogLevel error
Optional: error documents for when the ITS server fails/crashes:
Alias /its-error/ "/home/klh10/its/apache-errors/" ProxyPass /its-error/ ! ProxyErrorOverride on ErrorDocument 503 /its-error/503.html ErrorDocument 404 /its-error/404.html
Optional(?): caching
CacheEnable disk /
Optional: avoid robots which don't seem to respect robots.txt
# Forbid the darn Baidu robot which doesn't respect robots.txt! And the Page2RSS thing which also doesn't, and connects every 2 minutes
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*Baiduspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Page2RSS [NC]
RewriteRule .* - [L,F]
The real stuff: the proxy
<Location />
ProxyPass http://its-up.update.uu.se/ nocanon max=1 disablereuse=on retry=0 timeout=10 connectiontimeout=5
ProxyPassReverse http://its-up.update.uu.se/
# ITS only handles HTTP 1.0 and no keepalive
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
Order allow,deny
Allow from all
</Location>