{ # Global options admin off # Disable admin API # Global logging configuration log { output file /var/log/caddy/access.log format json level INFO } } noxious.gg { # Root directory for your Vue app root * ./dist # Enable compression with optimal settings encode zstd gzip # Handle SPA routing try_files {path} /index.html # Serve static files with optimizations file_server # Enhanced security headers header { # Existing headers with improvements X-Frame-Options "SAMEORIGIN" X-XSS-Protection "1; mode=block" X-Content-Type-Options "nosniff" Referrer-Policy "strict-origin-when-cross-origin" # Additional security headers Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" Permissions-Policy "accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()" # Remove server information -Server } # Improved cache configuration for static assets @static { file path *.js *.css *.png *.jpg *.jpeg *.gif *.ico *.svg *.woff *.woff2 *.ttf *.eot } header @static { Cache-Control "public, max-age=31536000, immutable" Vary Accept-Encoding } # Cache control for HTML files @html { file path *.html } header @html { Cache-Control "no-cache, must-revalidate" } # Handle errors handle_errors { respond "{http.error.status_code} {http.error.status_text}" {http.error.status_code} } } # Improved redirect configuration www.noxious.gg { redir https://noxious.gg{uri} permanent }