{
  persist_config off
  admin 127.0.0.1:30292
  auto_https disable_redirects
  acme_ca https://acme-v02.api.letsencrypt.org/directory
  servers {
    protocols h1 h2
  }
  storage file_system {
    root D:/AutoSER/unox/private/caddy/production
  }
}

https://unox.yifancom.top:29443 {
  bind 127.0.0.1
  encode zstd gzip
  tls {
    dns cloudflare {env.CF_DNS_API_TOKEN}
  }
  @control path /__uno_local /__uno_local/*
  handle @control {
    respond 404
  }
  @assets path /assets/*
  handle @assets {
    root * D:/AutoSER/unox/app/client
    header Cache-Control "public, max-age=31536000, immutable"
    header X-Content-Type-Options nosniff
    file_server
  }
  @media path /audio/* /sounds/* /card-themes/* /favicon.svg /og-image.svg /robots.txt
  handle @media {
    redir https://assets.unox.yifancom.top{uri} 307
  }
  handle {
    header X-Content-Type-Options nosniff
    reverse_proxy 127.0.0.1:28860
  }
}

https://assets.unox.yifancom.top:29443 {
  bind 127.0.0.1
  encode zstd gzip
  tls {
    dns cloudflare {env.CF_DNS_API_TOKEN}
  }
  header Access-Control-Allow-Origin "https://unox.yifancom.top"
  header Timing-Allow-Origin "https://unox.yifancom.top"
  header Cross-Origin-Resource-Policy cross-origin
  @assets path /assets/*
  handle @assets {
    root * D:/AutoSER/unox/app/client
    header Cache-Control "public, max-age=31536000, immutable"
    header X-Content-Type-Options nosniff
    file_server
  }
  @media path /audio/* /sounds/* /card-themes/* /favicon.svg /og-image.svg /robots.txt
  handle @media {
    root * D:/AutoSER/unox/app/client
    header Cache-Control "public, max-age=86400"
    header X-Content-Type-Options nosniff
    file_server
  }
  handle {
    respond 404
  }
}
