{ "admin": { "listen": "127.0.0.1:2019" }, "apps": { "http": { "servers": { "srv0": { "listen": [ ":443" ], "logs": { "default_logger_name": "default" }, "routes": [ { "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "10.10.10.6:8123" } ] } ], "match": [ { "host": [ "ha.saljic.me" ], "remote_ip": { "ranges": [ "217.82.27.57" ] } } ] }, { "handle": [ { "error": "Unauthorized", "handler": "error", "status_code": "401" } ], "match": [ { "host": [ "ha.saljic.me" ], "not": [ { "remote_ip": { "ranges": [ "217.82.27.57" ] } } ] } ] }, { "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "10.10.10.6:8000" } ] } ], "match": [ { "host": [ "baby.saljic.me" ], "remote_ip": { "ranges": [ "217.82.27.57" ] } } ] }, { "handle": [ { "error": "Unauthorized", "handler": "error", "status_code": "401" } ], "match": [ { "host": [ "baby.saljic.me" ], "not": [ { "remote_ip": { "ranges": [ "217.82.27.57" ] } } ] } ] }, { "handle": [ { "handler": "reverse_proxy", "upstreams": [ { "dial": "10.10.10.6:2283" } ] } ], "match": [ { "host": [ "tagebuch.saljic.me" ] } ] } ] } } } }, "logging": { "logs": { "default": { "encoder": { "format": "json" }, "level": "INFO", "writer": { "filename": "/var/log/caddy/access.log", "output": "file", "roll_gzip": false, "roll_keep": 5, "roll_keep_days": 60, "roll_local_time": false, "roll_size_mb": 100 } } } } }