upstream example-workers { # fail_timeout=0 means we always retry an upstream even if it failed # to return a good HTTP response (in case the Unicorn master nukes a single worker for timing out). server unix:/tmp/example.co.uk.socket fail_timeout=0; } server { listen 80; # default; server_name example.co.uk; root /home/example.co.uk/website/public; location / { access_log off; include proxy_params; proxy_redirect off; if (-f $request_filename) { access_log off; expires max; break; } if (-f $request_filename.html) { rewrite (.*) $1.html break; } if (!-f $request_filename) { proxy_pass http://example-workers; break; } } }