# # Load the modules that we need # server.modules = ( "mod_access", "mod_accesslog", "mod_cgi", "mod_compress", "mod_evasive", "mod_fastcgi", "mod_redirect", "mod_status" ) # # Basic server configuration # server.username = "www-data" server.groupname = "www-data" server.pid-file = "/var/run/lighttpd.pid" # # Setup logging # accesslog.filename = "/var/log/lighttpd/access.log" server.errorlog = "/var/log/lighttpd/error.log" # # Allow munin to monitor the server's status # $HTTP["remoteip"] == "127.0.0.1" { status.status-url = "/server-status" } # # Fail any attempt to access old versions of the API without # getting rails involved at all # $HTTP["url"] =~ "^/api/0.3/" { url.access-deny = ("") } $HTTP["url"] =~ "^/api/0.4/" { url.access-deny = ("") } # # IP blocked at SteveC's request as it was trying to download the # history of every object in the database one at a time # $HTTP["remoteip"] == "143.210.16.160" { url.access-deny = ("") } # # Rule to block tilesAtHome when somebody decides to queue vast # number of tiles for rerendering # #$HTTP["useragent"] == "tilesAtHome" { url.access-deny = ("") } # # Limit connections to 20 per IP address # evasive.max-conns-per-ip = 20 # # Setup MIME type mapping # mimetype.assign = ( ".css" => "text/css", ".gif" => "image/gif", ".html" => "text/html", ".js" => "application/x-javascript", ".png" => "image/png", ".swf" => "application/x-shockwave-flash", ".txt" => "text/plain" ) # # Enable compression of appropriate static content # compress.filetype = ( "application/x-javascript", "application/x-shockwave-flash", "text/css", "text/html", "text/plain" ) # # Cache compressed content # compress.cache-dir = "/var/cache/lighttpd" # # Redirect trac and wiki requests to the right places # url.redirect = ( "^/trac/(.*)$" => "http://trac.openstreetmap.org/$1", "^/wiki/(.*)$" => "http://wiki.openstreetmap.org/$1" ) # # Run anything with a .pl iextension as a CGI script # cgi.assign = ( ".pl" => "/usr/bin/perl" ) # # Serve static content from the rails public area ourselves # server.document-root = "/var/www/rails/public" # # Send everything else to the appropriate FastCGI server # server.error-handler-404 = "/dispatch.fcgi" $HTTP["url"] =~ "^/api/" { server.error-handler-404 = "/dispatch.api" } # # Configure the FastCGI servers # fastcgi.server = ( ".fcgi" => ( ( "host" => "127.0.0.1", "port" => 8000, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8001, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8002, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8003, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8004, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8005, "check-local" => "disable" ) ), ".api" => ( ( "host" => "127.0.0.1", "port" => 8006, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8007, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8008, "check-local" => "disable" ) ) )