source: subversion/sites/rails_port/config/lighttpd.conf @ 15718

Last change on this file since 15718 was 15624, checked in by tomhughes, 10 years ago

Don't send a 417 error if "Expect: 100-continue" is sent by the client.

File size: 8.2 KB
Line 
1#
2# Load the modules that we need
3#
4server.modules = (
5  "mod_access",
6  "mod_accesslog",
7  "mod_cgi",
8  "mod_compress",
9  "mod_evasive",
10  "mod_expire",
11  "mod_fastcgi",
12  "mod_redirect",
13  "mod_status"
14)
15
16#
17# Basic server configuration
18#
19server.username = "www-data"
20server.groupname = "www-data"
21server.pid-file = "/var/run/lighttpd.pid"
22server.max-fds = 8192
23server.reject-expect-100-with-417 = "disable"
24
25#
26# Setup logging
27#
28accesslog.filename = "/var/log/lighttpd/access.log"
29server.errorlog = "/var/log/lighttpd/error.log"
30
31#
32# Allow munin to monitor the server's status
33#
34$HTTP["remoteip"] == "127.0.0.1" {
35  status.config-url = "/server-config"
36  status.status-url = "/server-status"
37  status.statistics-url = "/server-statistics"
38}
39
40#
41# IP blocked at SteveC's request as it was trying to download the
42# history of every object in the database one at a time
43#
44$HTTP["remoteip"] == "143.210.16.160" { url.access-deny = ("") }
45
46#
47# Rule to block tilesAtHome when somebody decides to queue vast
48# number of tiles for rerendering
49#
50#$HTTP["useragent"] == "tilesAtHome" { url.access-deny = ("") }
51
52#
53# Limit connections to 20 per IP address
54#
55evasive.max-conns-per-ip = 20
56
57#
58# Setup MIME type mapping
59#
60mimetype.assign = (
61  ".css" => "text/css",
62  ".gif" => "image/gif",
63  ".html" => "text/html; charset=utf-8",
64  ".js" => "application/x-javascript",
65  ".png" => "image/png",
66  ".swf" => "application/x-shockwave-flash",
67  ".txt" => "text/plain",
68  ".xml" => "text/xml"
69)
70
71#
72# Force special MIME type for crossdomain.xml files
73#
74$HTTP["url"] =~ "/crossdomain\.xml$" {
75  mimetype.assign = ( ".xml" => "text/x-cross-domain-policy" )
76}
77
78#
79# Enable compression of appropriate static content
80#
81compress.filetype = (
82  "application/x-javascript",
83  "application/x-shockwave-flash",
84  "text/css",
85  "text/html",
86  "text/plain"
87)
88
89#
90# Set expiry for static content
91#
92expire.url = (
93  "/export/embed.html" => "access 7 days",
94  "/images/" => "access 10 years",
95  "/javascripts/" => "access 10 years",
96  "/openlayers/" => "access 7 days",
97  "/stylesheets/" => "access 10 years"
98)
99
100#
101# Cache compressed content
102#
103compress.cache-dir = "/var/cache/lighttpd"
104
105#
106# Redirect trac and wiki requests to the right places
107#
108url.redirect = (
109  "^/trac/(.*)$" => "http://trac.openstreetmap.org/$1",
110  "^/wiki/(.*)$" => "http://wiki.openstreetmap.org/$1"
111)
112
113#
114# Redirect everything except www.openstreetmap.org and
115# api.openstreetmap.org to www.openstreetmap.org
116#
117$HTTP["host"] =~ "^api\." {
118  $HTTP["host"] != "api.openstreetmap.org" {
119    url.redirect = ( "^(.*)$" => "http://api.openstreetmap.org$1" )
120  }
121}
122else $HTTP["host"] != "www.openstreetmap.org" {
123  url.redirect = ( "^(.*)$" => "http://www.openstreetmap.org$1" )
124}
125
126#
127# Run anything with a .pl iextension as a CGI script
128#
129cgi.assign = ( ".pl" => "/usr/bin/perl" )
130
131#
132# Serve static content from the rails public area ourselves
133#
134server.document-root = "/home/rails/public"
135
136#
137# Send everything else to the appropriate FastCGI server
138#
139$HTTP["useragent"] == "tilesAtHome" {
140  server.error-handler-404 = "/dispatch.tah"
141}
142else $HTTP["url"] =~ "^/api/0\.6/(map|trackpoints|amf|amf/read|swf/trackpoints)$" {
143  server.error-handler-404 = "/dispatch.bulkapi"
144}
145else $HTTP["url"] =~ "^/api/0\.6/.*/search$" {
146  server.error-handler-404 = "/dispatch.bulkapi"
147}
148else $HTTP["url"] =~ "^/api/0\.6/" {
149  server.error-handler-404 = "/dispatch.api"
150}
151else $HTTP["url"] =~ "^/api/0\.[0-9]+/" {
152  url.access-deny = ("")
153}
154else $HTTP["url"] =~ "^/" {
155  server.error-handler-404 = "/dispatch.web"
156}
157
158#
159# Configure the FastCGI servers
160#
161fastcgi.server = (
162  ".web" => (
163    ( "host" => "127.0.0.1", "port" => 8000, "check-local" => "disable" ),
164    ( "host" => "127.0.0.1", "port" => 8001, "check-local" => "disable" ),
165    ( "host" => "127.0.0.1", "port" => 8002, "check-local" => "disable" ),
166    ( "host" => "127.0.0.1", "port" => 8003, "check-local" => "disable" ),
167    ( "host" => "127.0.0.1", "port" => 8004, "check-local" => "disable" ),
168    ( "host" => "127.0.0.1", "port" => 8005, "check-local" => "disable" ),
169    ( "host" => "127.0.0.1", "port" => 8006, "check-local" => "disable" ),
170    ( "host" => "127.0.0.1", "port" => 8007, "check-local" => "disable" ),
171    ( "host" => "127.0.0.1", "port" => 8008, "check-local" => "disable" ),
172    ( "host" => "127.0.0.1", "port" => 8009, "check-local" => "disable" ),
173    ( "host" => "127.0.0.1", "port" => 8010, "check-local" => "disable" ),
174    ( "host" => "127.0.0.1", "port" => 8011, "check-local" => "disable" ),
175    ( "host" => "127.0.0.1", "port" => 8012, "check-local" => "disable" ),
176    ( "host" => "127.0.0.1", "port" => 8013, "check-local" => "disable" ),
177    ( "host" => "127.0.0.1", "port" => 8014, "check-local" => "disable" ),
178    ( "host" => "127.0.0.1", "port" => 8015, "check-local" => "disable" ),
179    ( "host" => "127.0.0.1", "port" => 8016, "check-local" => "disable" ),
180    ( "host" => "127.0.0.1", "port" => 8017, "check-local" => "disable" ),
181    ( "host" => "127.0.0.1", "port" => 8018, "check-local" => "disable" ),
182    ( "host" => "127.0.0.1", "port" => 8019, "check-local" => "disable" ),
183    ( "host" => "127.0.0.1", "port" => 8020, "check-local" => "disable" ),
184    ( "host" => "127.0.0.1", "port" => 8021, "check-local" => "disable" ),
185    ( "host" => "127.0.0.1", "port" => 8022, "check-local" => "disable" ),
186    ( "host" => "127.0.0.1", "port" => 8023, "check-local" => "disable" ),
187    ( "host" => "127.0.0.1", "port" => 8024, "check-local" => "disable" ),
188    ( "host" => "127.0.0.1", "port" => 8025, "check-local" => "disable" ),
189    ( "host" => "127.0.0.1", "port" => 8026, "check-local" => "disable" ),
190    ( "host" => "127.0.0.1", "port" => 8027, "check-local" => "disable" ),
191    ( "host" => "127.0.0.1", "port" => 8028, "check-local" => "disable" ),
192    ( "host" => "127.0.0.1", "port" => 8029, "check-local" => "disable" )
193  ),
194  ".api" => (
195    ( "host" => "127.0.0.1", "port" => 8030, "check-local" => "disable" ),
196    ( "host" => "127.0.0.1", "port" => 8031, "check-local" => "disable" ),
197    ( "host" => "127.0.0.1", "port" => 8032, "check-local" => "disable" ),
198    ( "host" => "127.0.0.1", "port" => 8033, "check-local" => "disable" ),
199    ( "host" => "127.0.0.1", "port" => 8034, "check-local" => "disable" ),
200    ( "host" => "127.0.0.1", "port" => 8035, "check-local" => "disable" ),
201    ( "host" => "127.0.0.1", "port" => 8036, "check-local" => "disable" ),
202    ( "host" => "127.0.0.1", "port" => 8037, "check-local" => "disable" ),
203    ( "host" => "127.0.0.1", "port" => 8038, "check-local" => "disable" ),
204    ( "host" => "127.0.0.1", "port" => 8039, "check-local" => "disable" ),
205    ( "host" => "127.0.0.1", "port" => 8040, "check-local" => "disable" ),
206    ( "host" => "127.0.0.1", "port" => 8041, "check-local" => "disable" ),
207    ( "host" => "127.0.0.1", "port" => 8042, "check-local" => "disable" ),
208    ( "host" => "127.0.0.1", "port" => 8043, "check-local" => "disable" ),
209    ( "host" => "127.0.0.1", "port" => 8044, "check-local" => "disable" )
210  ),
211  ".bulkapi" => (
212    ( "host" => "10.0.0.10", "port" => 8000, "check-local" => "disable" ),
213    ( "host" => "10.0.0.11", "port" => 8000, "check-local" => "disable" ),
214    ( "host" => "10.0.0.12", "port" => 8000, "check-local" => "disable" ),
215    ( "host" => "10.0.0.10", "port" => 8001, "check-local" => "disable" ),
216    ( "host" => "10.0.0.11", "port" => 8001, "check-local" => "disable" ),
217    ( "host" => "10.0.0.12", "port" => 8001, "check-local" => "disable" ),
218    ( "host" => "10.0.0.10", "port" => 8002, "check-local" => "disable" ),
219    ( "host" => "10.0.0.11", "port" => 8002, "check-local" => "disable" ),
220    ( "host" => "10.0.0.12", "port" => 8002, "check-local" => "disable" ),
221    ( "host" => "10.0.0.10", "port" => 8003, "check-local" => "disable" ),
222    ( "host" => "10.0.0.11", "port" => 8003, "check-local" => "disable" ),
223    ( "host" => "10.0.0.12", "port" => 8003, "check-local" => "disable" )
224  ),
225  ".tah" => (
226    ( "host" => "10.0.0.10", "port" => 8004, "check-local" => "disable" ),
227    ( "host" => "10.0.0.11", "port" => 8004, "check-local" => "disable" ),
228    ( "host" => "10.0.0.12", "port" => 8004, "check-local" => "disable" ),
229    ( "host" => "10.0.0.10", "port" => 8005, "check-local" => "disable" ),
230    ( "host" => "10.0.0.11", "port" => 8005, "check-local" => "disable" ),
231    ( "host" => "10.0.0.12", "port" => 8005, "check-local" => "disable" )
232  )
233)
Note: See TracBrowser for help on using the repository browser.