# Caddy-фрагмент: tradein-mvp под gendsgn.ru/trade-in/* # # Этот блок ВКЛЮЧАЕТСЯ в основной gendsgn.ru { ... } блок Caddy # (см. /opt/gendesign/Caddyfile на bot-server). Размещение — ПЕРЕД # универсальным `handle { reverse_proxy frontend:3000 }`, потому что # Caddy матчит handle-блоки сверху вниз. # # DNS — отдельный record НЕ нужен; используется тот же gendsgn.ru. # TLS уже включён в основном блоке (auto через Let's Encrypt). # # URL routes: # gendsgn.ru/trade-in → tradein-frontend:3000 (Next.js basePath=/trade-in) # gendsgn.ru/trade-in/api/v1/* → tradein-backend:8000 (strip префикса /trade-in) handle_path /trade-in/api/* { # handle_path вырезает префикс /trade-in перед прокси → # FastAPI получает /api/v1/... reverse_proxy tradein-backend:8000 } handle /trade-in { redir /trade-in/ permanent } handle /trade-in/* { # Next.js basePath="/trade-in" — фронт сам ждёт префикса в URL reverse_proxy tradein-frontend:3000 }