# HG changeset patch # User Richard Westhaver # Date 1722209420 14400 # Node ID c499610c1d891dcd19c6b6be001e68f7c59465f9 # Parent 55c2ee64e8439469cb0b653bdba1d3d26b7aa7f5 caddy diff -r 55c2ee64e843 -r c499610c1d89 caddy.json --- a/caddy.json Sun Jul 28 19:04:41 2024 -0400 +++ b/caddy.json Sun Jul 28 19:30:20 2024 -0400 @@ -4,1083 +4,25 @@ }, "apps": { "http": { + "http_port": 80, + "https_port": 443, "servers": { - "srv0": { - "listen": [ - ":8080" - ], - "enable_full_duplex": true, + "web": { + "automatic_https": { + "disable": true + }, + "listen": [ ":80" ], "routes": [ { - "match": [ - { - "host": [ - "packy.compiler.company" - ] - } - ], - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "vars", - "root": "/home/web/www/packy.compiler.company" - } - ] - }, - { - "group": "group23", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Headers": [ - "*" - ], - "Access-Control-Allow-Methods": [ - "GET, POST, PUT, PATCH, DELETE, OPTIONS" - ], - "Access-Control-Allow-Origin": [ - "https://packy.compiler.company" - ], - "Access-Control-Max-Age": [ - "3600" - ] - } - } - }, - { - "handler": "static_response", - "status_code": 204 - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://packy.compiler.company" - ] - }, - "method": [ - "OPTIONS" - ] - } - ] - }, - { - "group": "group23", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Origin": [ - "{http.request.header.origin}" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - } - } - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://packy.compiler.company" - ] - }, - "not": [ - { - "method": [ - "OPTIONS" - ] - } - ] - } - ] - }, - { - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "browse": {}, - "handler": "file_server", - "hide": [ - "/etc/caddy/Caddyfile" - ] - } - ], - "match": [ - { - "method": [ - "GET" - ] - } - ] - }, - { - "handle": [ - { - "handler": "webdav" - } - ] - } - ] - } - ] - } - ] - } - ], - "terminal": true - }, - { - "match": [ - { - "host": [ - "demo.compiler.company" - ] - } - ], - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "vars", - "root": "/home/web/www/demo.compiler.company" - } - ] - }, - { - "group": "group25", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Headers": [ - "*" - ], - "Access-Control-Allow-Methods": [ - "GET, POST, PUT, PATCH, DELETE, OPTIONS" - ], - "Access-Control-Allow-Origin": [ - "https://cdn.compiler.company" - ], - "Access-Control-Max-Age": [ - "3600" - ] - } - } - }, - { - "handler": "static_response", - "status_code": 204 - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://cdn.compiler.company" - ] - }, - "method": [ - "OPTIONS" - ] - } - ] - }, - { - "group": "group25", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Origin": [ - "{http.request.header.origin}" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - } - } - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://cdn.compiler.company" - ] - }, - "not": [ - { - "method": [ - "OPTIONS" - ] - } - ] - } - ] - } - ] - } - ], - "terminal": true - }, - { - "match": [ - { - "host": [ - "cdn.compiler.company" - ] - } - ], - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "vars", - "root": "/home/web/www/cdn.compiler.company" - } - ] - }, - { - "group": "group27", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Headers": [ - "*" - ], - "Access-Control-Allow-Methods": [ - "GET, POST, PUT, PATCH, DELETE, OPTIONS" - ], - "Access-Control-Allow-Origin": [ - "*" - ], - "Access-Control-Max-Age": [ - "3600" - ] - } - } - }, - { - "handler": "static_response", - "status_code": 204 - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "*" - ] - }, - "method": [ - "OPTIONS" - ] - } - ] - }, - { - "group": "group27", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Origin": [ - "{http.request.header.origin}" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - } - } - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "*" - ] - }, - "not": [ - { - "method": [ - "OPTIONS" - ] - } - ] - } - ] - }, - { - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "browse": {}, - "handler": "file_server", - "hide": [ - "/etc/caddy/Caddyfile" - ] - } - ], - "match": [ - { - "method": [ - "GET" - ] - } - ] - }, - { - "handle": [ - { - "handler": "webdav" - } - ] - } - ] - } - ] - } - ] - } - ], - "terminal": true - }, - { - "match": [ - { - "host": [ - "the.compiler.company" - ] - } - ], "handle": [ { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "vars", - "root": "/home/web/www/the.compiler.company" - } - ] - }, - { - "group": "group29", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Headers": [ - "*" - ], - "Access-Control-Allow-Methods": [ - "GET, POST, PUT, PATCH, DELETE, OPTIONS" - ], - "Access-Control-Allow-Origin": [ - "https://cdn.compiler.company" - ], - "Access-Control-Max-Age": [ - "3600" - ] - } - } - }, - { - "handler": "static_response", - "status_code": 204 - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://cdn.compiler.company" - ] - }, - "method": [ - "OPTIONS" - ] - } - ] - }, - { - "group": "group29", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Origin": [ - "{http.request.header.origin}" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - } - } - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://cdn.compiler.company" - ] - }, - "not": [ - { - "method": [ - "OPTIONS" - ] - } - ] - } - ] - }, - { - "group": "group29", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "rewrite", - "uri": "{http.matchers.file.relative}" - } - ], - "match": [ - { - "file": { - "try_files": [ - "{http.request.uri.path}{http.request.uri.path}.html", - "{http.request.uri.path}/" - ] - } - } - ] - }, - { - "handle": [ - { - "handler": "file_server", - "hide": [ - "/etc/caddy/Caddyfile" - ] - } - ] - } - ] - } - ] - } - ] - } - ], - "terminal": true - }, - { - "match": [ - { - "host": [ - "hg.compiler.company" - ] + "browse": {}, + "handler": "file_server", + "root": "/home/web/www/" } - ], - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "group": "group31", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Headers": [ - "*" - ], - "Access-Control-Allow-Methods": [ - "GET, POST, PUT, PATCH, DELETE, OPTIONS" - ], - "Access-Control-Allow-Origin": [ - "https://packy.compiler.company" - ], - "Access-Control-Max-Age": [ - "3600" - ] - } - } - }, - { - "handler": "static_response", - "status_code": 204 - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://packy.compiler.company" - ] - }, - "method": [ - "OPTIONS" - ] - } - ] - }, - { - "group": "group31", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Origin": [ - "{http.request.header.origin}" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - } - } - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://packy.compiler.company" - ] - }, - "not": [ - { - "method": [ - "OPTIONS" - ] - } - ] - } - ] - }, - { - "group": "group31", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Headers": [ - "*" - ], - "Access-Control-Allow-Methods": [ - "GET, POST, PUT, PATCH, DELETE, OPTIONS" - ], - "Access-Control-Allow-Origin": [ - "https://cdn.compiler.company" - ], - "Access-Control-Max-Age": [ - "3600" - ] - } - } - }, - { - "handler": "static_response", - "status_code": 204 - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://cdn.compiler.company" - ] - }, - "method": [ - "OPTIONS" - ] - } - ] - }, - { - "group": "group31", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Origin": [ - "{http.request.header.origin}" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - } - } - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://cdn.compiler.company" - ] - }, - "not": [ - { - "method": [ - "OPTIONS" - ] - } - ] - } - ] - }, - { - "group": "group31", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Headers": [ - "*" - ], - "Access-Control-Allow-Methods": [ - "GET, POST, PUT, PATCH, DELETE, OPTIONS" - ], - "Access-Control-Allow-Origin": [ - "https://vc.compiler.company" - ], - "Access-Control-Max-Age": [ - "3600" - ] - } - } - }, - { - "handler": "static_response", - "status_code": 204 - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://vc.compiler.company" - ] - }, - "method": [ - "OPTIONS" - ] - } - ] - }, - { - "group": "group31", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Origin": [ - "{http.request.header.origin}" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - } - } - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://vc.compiler.company" - ] - }, - "not": [ - { - "method": [ - "OPTIONS" - ] - } - ] - } - ] - }, - { - "handle": [ - { - "handler": "reverse_proxy", - "upstreams": [ - { - "dial": "rurik:8888" - } - ] - } - ] - } - ] - } - ], - "terminal": true - }, - { - "match": [ - { - "host": [ - "compiler.company" - ] - } - ], - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "vars", - "root": "/home/web/www/compiler.company" - } - ] - }, - { - "group": "group33", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Headers": [ - "*" - ], - "Access-Control-Allow-Methods": [ - "GET, POST, PUT, PATCH, DELETE, OPTIONS" - ], - "Access-Control-Allow-Origin": [ - "https://cdn.compiler.company" - ], - "Access-Control-Max-Age": [ - "3600" - ] - } - } - }, - { - "handler": "static_response", - "status_code": 204 - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://cdn.compiler.company" - ] - }, - "method": [ - "OPTIONS" - ] - } - ] - }, - { - "group": "group33", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "headers", - "response": { - "deferred": true, - "set": { - "Access-Control-Allow-Origin": [ - "{http.request.header.origin}" - ], - "Access-Control-Expose-Headers": [ - "*" - ] - } - } - } - ] - } - ] - } - ], - "match": [ - { - "header": { - "Origin": [ - "https://cdn.compiler.company" - ] - }, - "not": [ - { - "method": [ - "OPTIONS" - ] - } - ] - } - ] - }, - { - "group": "group33", - "handle": [ - { - "handler": "subroute", - "routes": [ - { - "handle": [ - { - "handler": "rewrite", - "uri": "{http.matchers.file.relative}" - } - ], - "match": [ - { - "file": { - "try_files": [ - "{http.request.uri.path}", - "{http.request.uri.path.html}", - "{http.request.uri.path}/" - ] - } - } - ] - }, - { - "handle": [ - { - "handler": "file_server", - "hide": [ - "/etc/caddy/Caddyfile" - ] - } - ] - } - ] - } - ] - } - ] - } - ], - "terminal": true + ] } - ], - "logs": { - "logger_names": { - "cdn.compiler.company": [ - "log0" - ], - "hg.compiler.company": [ - "log3" - ], - "packy.compiler.company": [ - "log2" - ] - }, - "skip_hosts": [ - "compiler.company", - "demo.compiler.company", - "the.compiler.company" - ] - } + ] } } }