source: subversion/sites/rails_port/config/nginx.conf @ 14598

Last change on this file since 14598 was 14598, checked in by tomhughes, 11 years ago

Rewrite /0.n/... as /api/0.n/... for the api virtual host.

File size: 4.0 KB
Line 
1user www-data;
2worker_processes  1;
3
4error_log  /var/log/nginx/error.log;
5pid        /var/run/nginx.pid;
6
7events {
8    worker_connections  1024;
9}
10
11http {
12    include       /etc/nginx/mime.types;
13    default_type  application/octet-stream;
14
15    #access_log  /var/log/nginx/access.log;
16
17    sendfile        on;
18    #tcp_nopush     on;
19
20    #keepalive_timeout  0;
21    keepalive_timeout  65;
22    tcp_nodelay        on;
23
24    gzip  on;
25        gzip_min_length 1100;
26        gzip_buffers 4 8k;
27        # text/html is added gzip_types by default
28        gzip_types text/plain application/x-javascript application/x-shockwave-flash text/css;
29        #NO CGI SUPPORT IN NGINX fix stat .pl later
30
31        upstream web_backend {
32                server 127.0.0.1:8000;
33                server 127.0.0.1:8001;
34                server 127.0.0.1:8002;
35                server 127.0.0.1:8003;
36                server 127.0.0.1:8004;
37                server 127.0.0.1:8005;
38                server 127.0.0.1:8006;
39                server 127.0.0.1:8007;
40                server 127.0.0.1:8008;
41                server 127.0.0.1:8009;
42                server 127.0.0.1:8010;
43                server 127.0.0.1:8011;
44                server 127.0.0.1:8012;
45                server 127.0.0.1:8013;
46                server 127.0.0.1:8014;
47                server 127.0.0.1:8015;
48                server 127.0.0.1:8016;
49                server 127.0.0.1:8017;
50                server 127.0.0.1:8018;
51                server 127.0.0.1:8019;
52                server 127.0.0.1:8020;
53                server 127.0.0.1:8021;
54                server 127.0.0.1:8022;
55                server 127.0.0.1:8023;
56                server 127.0.0.1:8024;
57                server 127.0.0.1:8025;
58                server 127.0.0.1:8026;
59                server 127.0.0.1:8027;
60                server 127.0.0.1:8028;
61                server 127.0.0.1:8029;
62        }
63
64        upstream api_backend {
65                server 127.0.0.1:8030;
66                server 127.0.0.1:8031;
67                server 127.0.0.1:8032;
68                server 127.0.0.1:8033;
69                server 127.0.0.1:8034;
70                server 127.0.0.1:8035;
71                server 127.0.0.1:8036;
72                server 127.0.0.1:8037;
73                server 127.0.0.1:8038;
74                server 127.0.0.1:8039;
75                server 127.0.0.1:8040;
76                server 127.0.0.1:8041;
77                server 127.0.0.1:8042;
78                server 127.0.0.1:8043;
79                server 127.0.0.1:8044;
80        }
81
82        upstream bulkapi_backend {
83                server 10.0.0.10:8000;
84                server 10.0.0.11:8000;
85                server 10.0.0.12:8000;
86                server 10.0.0.10:8001;
87                server 10.0.0.11:8001;
88                server 10.0.0.12:8001;
89                server 10.0.0.10:8002;
90                server 10.0.0.11:8002;
91                server 10.0.0.12:8002;
92                server 10.0.0.10:8003;
93                server 10.0.0.11:8003;
94                server 10.0.0.12:8003;
95        }
96       
97        upstream tah_backend {
98                server 10.0.0.10:8004;
99                server 10.0.0.11:8004;
100                server 10.0.0.12:8004;
101                server 10.0.0.10:8005;
102                server 10.0.0.11:8005;
103                server 10.0.0.12:8005;
104        }
105
106        server {
107                listen   80;
108                server_name  .openstreetmap.org api.openstreetmap.org;
109                root /home/rails/public;
110                index index.html;
111                access_log  /var/log/nginx/openstreetmap.org.access.log;
112
113                if ($host ~* api\.(.*)) {
114                        rewrite ^/(0\.[0-9]+)/(.*)$ /api/$1/$2
115                }
116
117                location / {
118                        deny 143.210.16.160;
119                        allow all;
120                }
121
122                location /trac/ {
123                        rewrite ^/trac/(.*)$ http://trac.openstreetmap.org/$1 permanent;
124                }
125
126                location /wiki/ {
127                        rewrite ^/wiki/(.*)$ http://wiki.openstreetmap.org/$1 permanent;
128                }
129               
130                location /api/ {
131                        include /etc/nginx/fastcgi_params;
132                        if ($http_user_agent = "tilesAtHome") {
133                                fastcgi_pass tah_backend;
134                                break;
135                        }
136                }
137
138                location ~ ^/api/0\.6/(map|trackpoints|amf|amf/read|swf/trackpoints)$ {
139                        include /etc/nginx/fastcgi_params;
140                        fastcgi_pass bulkapi_backend;
141                        break;
142                }
143               
144                location ~ ^/api/0\.6/.*/search$ {
145                        include /etc/nginx/fastcgi_params;
146                        fastcgi_pass bulkapi_backend;
147                        break;
148                }
149
150                location ~ ^/api/0\.6/ {
151                        include /etc/nginx/fastcgi_params;
152                        fastcgi_pass api_backend;
153                        break;
154                }
155
156                location ~ ^/api/0\.[0-9]+/ {
157                        deny all;
158                }
159       
160                location / {
161                        include /etc/nginx/fastcgi_params;
162                        if (!-f $request_filename) {
163                                fastcgi_pass web_backend;
164                                break;
165                        }
166                }
167
168                location /crossdomain.xml {
169                        default_type text/x-cross-domain-policy;
170                }
171
172                #error_page  404  /404.html;
173                # redirect server error pages to the static page /50x.html
174                error_page   500 502 503 504  /50x.html;
175                location = /50x.html {
176                        root   /var/www/nginx-default;
177                }
178        }
179}
180
Note: See TracBrowser for help on using the repository browser.