-user www-data;\r
-worker_processes 1;\r
+user www-data www-data;\r
+worker_processes 2;\r
\r
error_log /var/log/nginx/error.log;\r
pid /var/run/nginx.pid;\r
\r
events {\r
+ # max clients = worker_processes * worker_connections\r
worker_connections 1024;\r
}\r
\r
gzip_buffers 4 8k;\r
# text/html is added gzip_types by default\r
gzip_types text/plain application/x-javascript application/x-shockwave-flash text/css;\r
+ \r
#NO CGI SUPPORT IN NGINX fix stat .pl later\r
\r
upstream web_backend {\r
server 10.0.0.12:8005;\r
}\r
\r
- server {\r
- listen 80;\r
- server_name .openstreetmap.org api.openstreetmap.org;\r
- root /home/rails/public\r
-\r
- access_log /var/log/nginx/openstreetmap.org.access.log;\r
-\r
- location / {\r
- deny 143.210.16.160;\r
- allow all; \r
- }\r
+server {\r
+ listen 80;\r
+ server_name .openstreetmap.org api.openstreetmap.org;\r
+ root /home/rails/public;\r
+ index index.html;\r
+ access_log /var/log/nginx/openstreetmap.org.access.log;\r
+ \r
+ include /etc/nginx/fastcgi_params;\r
\r
+ #Redirect Historical Links to correct servers\r
location /trac/ {\r
rewrite ^/trac/(.*)$ http://trac.openstreetmap.org/$1 permanent;\r
}\r
+\r
location /wiki/ {\r
rewrite ^/wiki/(.*)$ http://wiki.openstreetmap.org/$1 permanent;\r
}\r
\r
- if ($http_user_agent == "tilesAtHome" {\r
+ location / {\r
+ deny 143.210.16.160;\r
+ deny 69.89.21.73;\r
+ deny 91.89.145.219;\r
+ deny 195.190.169.111;\r
+ deny 84.237.213.10;\r
+ deny 70.22.219.249;\r
+ deny 83.226.40.87;\r
+ deny 82.178.145.87;\r
+ deny 91.78.50.134;\r
+ deny 91.77.7.139;\r
+ deny 85.126.23.106;\r
+ deny 213.171.196.166;\r
+ deny 81.151.8.64;\r
+ deny 130.226.235.215;\r
+ deny 141.99.254.253;\r
+ deny 61.228.43.32;\r
+ allow all; \r
+ }\r
+ \r
+ #Handle api.openstreetmap/ -> api.openstreetmap/api/\r
+ if ($host ~* api\.(.*)) {\r
+ rewrite ^/(0\.[0-9]+)/(.*)$ /api/$1/$2\r
+ }\r
+ \r
+ location /api/ {\r
include /etc/nginx/fastcgi_params;\r
- fastcgi_pass tah_backend;\r
- break;\r
+ if ($http_user_agent ~ "^tilesAtHome") {\r
+ #deny all;\r
+ fastcgi_pass tah_backend;\r
+ break;\r
+ }\r
}\r
\r
- location =~ "^/api/0\.6/(map|trackpoints|amf|amf/read|swf/trackpoints)$" {\r
- include /etc/nginx/fastcgi_params;\r
+ location ~ ^/api/0\.6/(map|relation|trackpoints|amf|amf/read|swf/trackpoints|trace/[0-9]+/data)$ {\r
fastcgi_pass bulkapi_backend;\r
break;\r
}\r
\r
- location =~ "^/api/0\.6/.*/search$" {\r
- include /etc/nginx/fastcgi_params;\r
+ location ~ ^/api/0\.6/.*/search$ {\r
fastcgi_pass bulkapi_backend;\r
break;\r
}\r
\r
- location =~ "^/api/0\.6/" {\r
- include /etc/nginx/fastcgi_params;\r
+ location ~ ^/api/0\.6/.*/full$ {\r
+ fastcgi_pass bulkapi_backend;\r
+ break;\r
+ }\r
+\r
+ # fastcgi Web / Data Browser / Relations etc\r
+ location ~ ^/api/0\.6/ {\r
fastcgi_pass api_backend;\r
break;\r
}\r
\r
- location =~ "^/api/0\.[0-9]+/" {\r
+ #Deny unknown API version\r
+ location ~ ^/api/0\.[0-9]+/ {\r
deny all;\r
}\r
- \r
- if (!-f $request_filename) {\r
- include /etc/nginx/fastcgi_params;\r
- fastcgi_pass web_backend;\r
- break;\r
+ \r
+ #Handle Special Case Expiry\r
+ location ~ ^/(export|openlayers)/ {\r
+ expires 7d;\r
+ }\r
+ location ~ ^/(images|javascripts|stylesheets)/ {\r
+ expires max;\r
+ }\r
+ \r
+ location / {\r
+ fastcgi_index index.html;\r
+ if (!-f $request_filename) {\r
+ fastcgi_pass web_backend;\r
+ break;\r
+ }\r
}\r
\r
location /crossdomain.xml {\r
- default_type text/x-cross-domain-policy\r
+ default_type text/x-cross-domain-policy;\r
}\r
\r
- #error_page 404 /404.html;\r
+ #error_page 404 /404.html;\r
# redirect server error pages to the static page /50x.html\r
error_page 500 502 503 504 /50x.html;\r
location = /50x.html {\r
- root /var/www/nginx-default;\r
- }\r
-\r
+ root /var/www/nginx-default;\r
+ }\r
}\r
}\r
-\r