{ "logging": { "logs": { "default": { "level": "INFO", "encoder": { "format": "transform", "template":"{common_log}" }, "writer": { "output": "file", "filename": "/var/log/caddy/access.log", "roll": true, "roll_size_mb": 5, "roll_gzip": true, "roll_local_time": true, "roll_keep": 5, "roll_keep_days": 7 } }, "dev_access": { "level": "INFO", "encoder": { "format": "transform", "template":"{common_log}" }, "writer": { "output": "file", "filename": "/var/log/caddy/dev_access.log", "roll": true, "roll_size_mb": 5, "roll_gzip": true, "roll_local_time": true, "roll_keep": 5, "roll_keep_days": 7 } }, "errors": { "level": "ERROR", "writer": { "output": "file", "filename": "/var/log/caddy/error.log" } } } }, "apps": { "http": { "servers": { "srv0": { "listen": [":443"], "logs": { "default_logger_name": "dev_access" }, "routes": [ { "match": [ { "host": ["<redacted>"], "path": ["/backend/*"] } ], "handle": [ { "handler": "subroute", "routes": [ { "handle": [ { "handler": "rewrite", "strip_path_prefix": "/backend" } ] }, { "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "localhost:8080" } ] } ] } ] } ] }, { "match": [ { "host": ["<redacted>"] }, { "file": { "try_files": ["{path}", "/index.html"] } } ], "handle": [ { "handler": "file_server", "pass_thru": true, "root": "/home/server/web/dist" } ] }, { "match": [ { "host": ["<redacted>"] } ], "handle": [ { "handler": "rewrite", "uri": "/index.html" } ] } ] } } } } }