From b2841a761d79a604be57d07f35e5be033a91ab42 Mon Sep 17 00:00:00 2001 From: lekss361 Date: Thu, 21 May 2026 01:10:36 +0300 Subject: [PATCH] =?UTF-8?q?fix(tradein):=20Caddy=20matcher=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20/trade-in=20=D0=B1=D0=B5=D0=B7=20trailing=20slash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit handle /trade-in/* НЕ матчил /trade-in (без слеша) — request попадал в универсальный handle и проксировался на основной gendesign frontend, который для unknown path отдавал 200 OK с пустым body. Заменил на named matcher `@tradein path /trade-in /trade-in/*` — ловит оба случая. Также убрал redirect-handle /trade-in → /trade-in/ т.к. trailingSlash=false у Next.js и сам редиректит обратно. --- Caddyfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Caddyfile b/Caddyfile index d3047c2a..59d6ab3c 100644 --- a/Caddyfile +++ b/Caddyfile @@ -34,11 +34,11 @@ gendsgn.ru { reverse_proxy tradein-backend:8000 } - handle /trade-in { - redir /trade-in/ permanent - } - - handle /trade-in/* { + # Matcher `path /trade-in /trade-in/*` ловит И /trade-in (без слеша), + # И /trade-in/ + /trade-in/анisching. Без обоих случаев `handle /trade-in/*` + # пропускал /trade-in без слеша → попадал в общий frontend → пустой ответ. + @tradein path /trade-in /trade-in/* + handle @tradein { # Next.js basePath=/trade-in — фронт сам ждёт префикса в URL reverse_proxy tradein-frontend:3000 }