worker_processes 1; events { worker_connections 1024; } http { proxy_cache_path /opt/cache levels=1:2 keys_zone=tempi:10m max_size=1g inactive=60m use_temp_path=off; map $http_user_agent $agent_flag { default 0; # default to desktop ~*ipad 0; ~*windows\s+(?:ce|phone)|mobile|iphone 1; ~*windows|linux|os\s+x\s*[\d\._]+|solaris|bsd 0; # OSes - desktop } server { listen 80; location / { # Cache normal pages for 1 day proxy_cache_revalidate on; proxy_cache_valid 200 301 302 1d; # Cache 404 pages for 15 minutes proxy_cache_valid 404 15m; # Cache key proxy_cache_key "$agent_flag$scheme$request_method$host$request_uri$is_args$args"; # Proxy settings proxy_cache tempi; proxy_cache_lock on; add_header X-Cache-Status $upstream_cache_status; proxy_set_header Host $host; proxy_ignore_headers Cache-Control; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://landing:3000; } } }