proxy_cache_path /var/cache/nginx/nix levels=1:2 keys_zone=nix_cache:32m max_size=60g inactive=365d use_temp_path=off; map $status $cache_header { 200 "public"; 302 "public"; default "no-cache"; } server { listen 80; server_name nix.dogar.dev; location / { proxy_pass https://cache.nixos.org; proxy_http_version 1.1; proxy_set_header Host cache.nixos.org; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_ssl_server_name on; proxy_cache nix_cache; proxy_cache_valid 200 302 365d; proxy_cache_valid any 1m; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; add_header X-Cache-Status $upstream_cache_status always; add_header Cache-Control $cache_header always; } }