{
  on_demand_tls {
    ask http://127.0.0.1:3000/api/admin/caddy/ask
  }
  admin 0.0.0.0:2019
  email VAN_BLOG_EMAIL
	log {
		output file /var/log/caddy.log
	}

}
(h) {
  trusted_proxies private_ranges
}


(van) {
  encode zstd gzip
	log {
		output file /var/log/vanblog-access.log
		format json
	}
  tls {
    on_demand
  }

  handle /ui* {
    reverse_proxy 127.0.0.1:8360 {
      import h
    }
  }
  handle /user* {
    reverse_proxy 127.0.0.1:8360 {
      import h
    }
  }
  handle /token* {
    reverse_proxy 127.0.0.1:8360 {
      import h
    }
  }
  handle /db* {
    reverse_proxy 127.0.0.1:8360 {
      import h
    }
  }
  handle /comment* {
    reverse_proxy 127.0.0.1:8360 {
      import h
    }
  }
  handle /oauth* {
    reverse_proxy 127.0.0.1:8360 {
      import h
    }
  }
	handle /favicon* {
    uri replace /favicon /static/img/favicon
		reverse_proxy 127.0.0.1:3000
	}
	handle /static/* {
		reverse_proxy 127.0.0.1:3000
	}
	handle /c/* {
		reverse_proxy 127.0.0.1:3000
	}
  handle /custom/* {
		reverse_proxy 127.0.0.1:3000
	}
  handle /feed.json {
    uri replace /feed.json /rss/feed.json
    reverse_proxy 127.0.0.1:3000
  }
  handle /feed.xml {
    uri replace /feed.xml /rss/feed.xml
    reverse_proxy 127.0.0.1:3000
  }
  handle /sitemap.xml {
    uri replace /sitemap.xml /sitemap/sitemap.xml
    reverse_proxy 127.0.0.1:3000
  }
  handle /atom.xml {
    uri replace /feed.xml /rss/atom.xml
    reverse_proxy 127.0.0.1:3000
  }
	handle /rss/* {
		reverse_proxy 127.0.0.1:3000
	}
	handle /swagger* {
		reverse_proxy 127.0.0.1:3000
	}
  handle /api/comment {
    uri strip_prefix /api
		reverse_proxy 127.0.0.1:8360 {
      import h
    }
	}
	handle /api/* {
		reverse_proxy 127.0.0.1:3000
	}
	handle_path /admin* {
		root * /app/admin
		try_files {path} /index.html
		file_server
	}
	reverse_proxy 127.0.0.1:3001
}

http:// {
  import van
}
https:// {
  import van
}
