upstream thin { server 127.0.0.1:9000; server 127.0.0.1:9001; server 127.0.0.1:9002; } server { listen 80; server_name our.site.url; access_log /var/log/nginx/site.access.log; root /var/www/oursite/current/public; if (-f /var/www/oursite/shared/system/maintenance.html) { rewrite ^(.*)$ /system/maintenance.html last; break; } location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect false; if (!-f $request_filename) { proxy_pass http://thin; break; } } location /couch/ { internal; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:5984/oursite-production/; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }