location / { {% if https_port is defined %} proxy_pass https://127.0.0.1:{{https_port}}/; {% else %} proxy_pass http://127.0.0.1:{{http_port}}/; {% endif %} proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-Port 443; # timeouts proxy_connect_timeout 1s; proxy_send_timeout 300s; proxy_read_timeout 300s; send_timeout 300s; # cache media files location ~* \.(gif|ico|jpg|jpeg|png|svg|mp4|mp3|pdf)$ { proxy_cache cache; proxy_cache_key $host$uri$is_args$args; proxy_cache_revalidate on; proxy_cache_min_uses 1; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; proxy_cache_lock on; proxy_cache_background_update on; proxy_cache_valid 200 301 302 365d; expires 365d; {% if https_port is defined %} proxy_pass https://127.0.0.1:{{https_port}}; {% else %} proxy_pass http://127.0.0.1:{{http_port}}; {% endif %} } # cache content location ~* \.(html|css|js)$ { proxy_cache cache; proxy_cache_key $host$uri$is_args$args; proxy_cache_revalidate on; proxy_cache_min_uses 1; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; proxy_cache_lock on; proxy_cache_background_update on; proxy_cache_valid 200 301 302 30m; expires 30m; {% if https_port is defined %} proxy_pass https://127.0.0.1:{{https_port}}; {% else %} proxy_pass http://127.0.0.1:{{http_port}}; {% endif %} } }