1
|
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 |
6
|
12
|
{ |
|
13
|
admin :2020 |
|
14
|
email ellis@rwest.io |
|
15
|
servers { |
|
16
|
enable_full_duplex |
|
17
|
} |
|
18
|
order webdav before file_server |
|
19
|
} |
1
|
20
|
|
6
|
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
|
} |
1
|
55
|
} |
|
56
|
|
|
57
|
http:// { |
|
58
|
# Set this path to your site's directory. |
6
|
59
|
root * /srv/http/ |
|
60
|
file_server browse |
|
61
|
} |
1
|
62
|
|
|
63
|
|
6
|
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
|
} |
1
|
82
|
} |
|
83
|
|
6
|
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 |