{$DOMAIN} { encode gzip handle /api/* { reverse_proxy backend:4000 } # /assets* - собранные JS/CSS файлы admin-app (Vite кладёт их сюда # независимо от того, с /admin или /account их запросили). @app path /admin* /account* /assets* handle @app { root * /srv try_files {path} /index.html file_server } # Всё остальное (главная страница, /blog и т.д.) обслуживает Next.js - # он же сам отдаёт /sitemap.xml и /robots.txt. handle { reverse_proxy nextjs:3000 } header { X-Content-Type-Options nosniff X-Frame-Options SAMEORIGIN Referrer-Policy strict-origin-when-cross-origin } }