60 lines
1.5 KiB
Bash
60 lines
1.5 KiB
Bash
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
|
|
if [[ -f $is_caddyfile ]]; then
|
|
[[ ! $(grep -F "$is_caddy_conf/*.conf" $is_caddyfile) ]] && {
|
|
echo -e "\nimport $is_caddy_conf/*.conf" >>$is_caddyfile
|
|
}
|
|
else
|
|
cat >$is_caddyfile <<-EOF
|
|
# caddy configuration #
|
|
{
|
|
admin off
|
|
http_port $is_http_port
|
|
https_port $is_https_port
|
|
}
|
|
import $is_caddy_conf/*.conf
|
|
import $is_caddy_dir/sites/*.conf
|
|
EOF
|
|
fi
|
|
;;
|
|
*ws* | *http*)
|
|
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} {
|
|
transport http {
|
|
tls_insecure_skip_verify
|
|
}
|
|
}
|
|
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 "# caddy site configuration" >${is_caddy_site_file}.add
|
|
}
|
|
}
|