# Caddy configuration for VoxBlog # Add this to your existing Caddyfile on VPS # Option 1: Single domain with /api path (Recommended) admin.pusula.blog { # Frontend (React Admin) handle { reverse_proxy localhost:3300 } # API Backend handle /api* { reverse_proxy localhost:3301 } # Enable gzip compression encode gzip # Security headers header { X-Frame-Options "SAMEORIGIN" X-Content-Type-Options "nosniff" X-XSS-Protection "1; mode=block" Referrer-Policy "strict-origin-when-cross-origin" } # Logging log { output file /var/log/caddy/voxblog-access.log } } # Option 2: Separate subdomains (Alternative) # Uncomment if you prefer separate subdomains # Frontend subdomain # voxblog.yourdomain.com { # reverse_proxy localhost:3300 # # encode gzip # # header { # X-Frame-Options "SAMEORIGIN" # X-Content-Type-Options "nosniff" # X-XSS-Protection "1; mode=block" # } # # log { # output file /var/log/caddy/voxblog-access.log # } # } # API subdomain # api.voxblog.yourdomain.com { # reverse_proxy localhost:3301 # # encode gzip # # header { # X-Frame-Options "SAMEORIGIN" # X-Content-Type-Options "nosniff" # } # # log { # output file /var/log/caddy/voxblog-api-access.log # } # }