changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > infra > etc / caddy/Caddyfile

changeset 6: 9e1a84aa4ede
parent: 71488d7123d0
author: Richard Westhaver <ellis@rwest.io>
date: Wed, 12 Jun 2024 14:33:30 -0400
permissions: -rw-r--r--
description: update caddyfile
1 # The Caddyfile is an easy way to configure your Caddy web server.
2 #
3 # https://caddyserver.com/docs/caddyfile
4 #
5 # The configuration below serves a welcome page over HTTP on port 80.
6 # To use your own domain name (with automatic HTTPS), first make
7 # sure your domain's A/AAAA DNS records are properly pointed to
8 # this machine's public IP, then replace the line below with your
9 # domain name.
10 #
11 # https://caddyserver.com/docs/caddyfile/concepts#addresses
12 {
13  admin :2020
14  email ellis@rwest.io
15  servers {
16  enable_full_duplex
17  }
18  order webdav before file_server
19 }
20 
21 (logging) {
22  log {
23  output file /var/log/caddy.log
24  format json
25  }
26 }
27 
28 (cors-origin) {
29  @match-cors-preflight-{args.0} {
30  header Origin "{args.0}"
31  method OPTIONS
32  }
33  handle @match-cors-preflight-{args.0} {
34  header {
35  Access-Control-Allow-Origin "{args.0}"
36  Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS"
37  Access-Control-Allow-Headers *
38  Access-Control-Max-Age "3600"
39  defer
40  }
41  respond "" 204
42  }
43 
44  @match-cors-request-{args.0} {
45  header Origin "{args.0}"
46  not method OPTIONS
47  }
48  handle @match-cors-request-{args.0} {
49  header {
50  Access-Control-Allow-Origin "{http.request.header.origin}"
51  Access-Control-Expose-Headers *
52  defer
53  }
54  }
55 }
56 
57 http:// {
58  # Set this path to your site's directory.
59  root * /srv/http/
60  file_server browse
61 }
62 
63 
64 compiler.company {
65  import cors-origin https://cdn.compiler.company
66  root * /srv/http/compiler.company
67  handle {
68  try_files {path} {path.html} {path}/
69  file_server
70  }
71 }
72 # chat.compiler.company
73 cdn.compiler.company {
74  @get method GET
75  import cors-origin *
76  import logging
77  root * /srv/http/cdn.compiler.company
78  route {
79  file_server @get browse
80  webdav
81  }
82 }
83 
84 the.compiler.company {
85  import cors-origin https://cdn.compiler.company
86  root * /srv/http/the.compiler.company
87  handle {
88  try_files {path}{path}.html {path}/
89  file_server
90  }
91 }
92 
93 demo.compiler.company {
94  import cors-origin https://cdn.compiler.company
95  root * /srv/http/demo.compiler.company
96  # reverse_proxy
97 }
98 
99 packy.compiler.company {
100  @get method GET
101  import cors-origin https://packy.compiler.company
102  import logging
103  root * /srv/http/packy.compiler.company
104  route {
105  file_server @get browse
106  webdav
107  }
108 }
109 
110 hg.compiler.company {
111  import cors-origin https://packy.compiler.company
112  import cors-origin https://cdn.compiler.company
113  import cors-origin https://vc..compiler.company
114  import logging
115  root * /home/vc
116  reverse_proxy localhost:8888
117 }
118 # nas-t.net
119 # otom8.dev
120 # rwest.io
121 # c2.rwest.io