# TFM aInventory - Caddy Patched IP Configuration # Version 1.9.15 - The Dynamic Shield (On-Demand TLS) { admin off debug # Global TLS options for self-signed certificates local_certs skip_install_trust # Configure on-demand TLS for private network IPs on_demand_tls { # Using a dummy check or local health endpoint to allow any IP in private range # For simplicity in this env, we use the frontend's existence as the check ask http://frontend:3000/api/health } } # Dynamic SSL Proxy (Matches ANY IP or hostname) https:// { tls internal { on_demand } # Route based on the port (Caddy handles multiple listeners in this catch-all) # But since we have specific container ports, we'll split them for clarity # to avoid port collision in the catch-all. reverse_proxy frontend:3000 header { Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" X-XSS-Protection "1; mode=block" X-Content-Type-Options "nosniff" X-Frame-Options "SAMEORIGIN" Referrer-Policy "strict-origin-when-cross-origin" } } # Specific port listener for backend (8918 -> 444) https://:444 { tls internal { on_demand } reverse_proxy backend:8000 }