upstream app { server unix:/srv/app/current/tmp/sockets/unicorn.sock fail_timeout=0; } server { listen 80; server_name www.app.com; rewrite ^/(.*) http://app.com/$1 permanent; } server { listen 80; client_max_body_size 2G; server_name app.com; keepalive_timeout 5; root /srv/app/current/public; access_log off; error_log off; if ($request_method !~ ^(GET|HEAD|PUT|POST|DELETE|OPTIONS)$ ){ return 405; } location ~ ^/(assets)/ { gzip_static on; expires max; add_header Cache-Control public; } location / { try_files $uri/index.html $uri.html $uri @app; error_page 404 /404.html; error_page 422 /422.html; error_page 500 502 503 504 /500.html; error_page 403 /403.html; } location @app { proxy_pass http://app; } location = /favicon.ico { expires max; add_header Cache-Control public; } location ~ \.php$ { deny all; } }