summaryrefslogtreecommitdiff
path: root/roles/common/files/Caddyfile
blob: 9850012261db88e48441487e3736bf430ef3c52f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
{
	http_port 80
	https_port 443

	email freya@freyacat.org
	acme_ca https://ca.in.freya.cat/acme/acme/directory
}

(logs) {
	log {
		output file /var/log/caddy.log {
			roll_size 10mb
			roll_keep 7
			roll_keep_for 720h
		}
	}
}

(headers) {
	#header ?Access-Control-Allow-Origin "*"
	header ?X-Content-Type-Options "nosniff"
	header Permissions-Policy "interest-cohort=()"
	header Referrer-Policy "same-origin"
	header Strict-Transport-Security "max-age=31536000"
}

(compression) {
	encode {
		gzip 6
		zstd
	}
}

(acme) {
	redir /.well-known/acme-challenge /.well-known/acme-challenge/
	handle_path /.well-known/acme-challenge/* {
		file_server browse
		root * /var/www/html/.well-known/acme-challenge
	}
}

(base) {
	import logs
	import headers
	import compression
	import acme
}

(http) {
	try_files {path}.html {path}
	file_server
}

(wellknown) {
	header ?Access-Control-Allow-Origin "*"
	redir /.well-known /.well-known/
	handle_path /.well-known/* {
		file_server browse
		root * /static/wellknown
	}
}

(protect) {
	forward_auth https://forward.auth.in.freya.cat {
		uri /
		header_up Host forward.auth.in.freya.cat
		copy_headers {
			X-Webauth-Username X-Webauth-Email X-Webauth-First-Name X-Webauth-Last-Name
		}
	}
}

import /etc/caddy/*.conf