-
Notifications
You must be signed in to change notification settings - Fork 16.4k
/
Copy pathcaddy.sh
53 lines (52 loc) · 1.43 KB
/
caddy.sh
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
caddy_config() {
is_caddy_site_file=$is_caddy_conf/${host}.conf
case $1 in
new)
mkdir -p $is_caddy_dir $is_caddy_dir/sites $is_caddy_conf
cat >$is_caddyfile <<-EOF
# don't edit this file #
# for more info, see https://233boy.com/$is_core/caddy-auto-tls/
# 不要编辑这个文件 #
# 更多相关请阅读此文章: https://233boy.com/$is_core/caddy-auto-tls/
# https://caddyserver.com/docs/caddyfile/options
{
admin off
http_port $is_http_port
https_port $is_https_port
}
import $is_caddy_conf/*.conf
import $is_caddy_dir/sites/*.conf
EOF
;;
*ws*)
cat >${is_caddy_site_file} <<<"
${host}:${is_https_port} {
reverse_proxy ${path} 127.0.0.1:${port}
import ${is_caddy_site_file}.add
}"
;;
*h2*)
cat >${is_caddy_site_file} <<<"
${host}:${is_https_port} {
reverse_proxy ${path} h2c://127.0.0.1:${port}
import ${is_caddy_site_file}.add
}"
;;
*grpc*)
cat >${is_caddy_site_file} <<<"
${host}:${is_https_port} {
reverse_proxy /${path}/* h2c://127.0.0.1:${port}
import ${is_caddy_site_file}.add
}"
;;
proxy)
cat >${is_caddy_site_file}.add <<<"
reverse_proxy https://$proxy_site {
header_up Host {upstream_hostport}
}"
;;
esac
[[ $1 != "new" && $1 != 'proxy' ]] && {
[[ ! -f ${is_caddy_site_file}.add ]] && echo "# see https://233boy.com/$is_core/caddy-auto-tls/" >${is_caddy_site_file}.add
}
}