From 2efa69bc14cef74610a3212c7fcb721488af4a4a Mon Sep 17 00:00:00 2001 From: wilfordgrimley <2397930+WilfordGrimley@users.noreply.github.com> Date: Sat, 1 Aug 2026 22:34:28 +0000 Subject: [PATCH 1/2] fix(nginx): proxy /1/ prefix (catalogStats, funnelCounts) to django --- docker/nginx/nginx.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf index c1aeebc56..3865ee8d0 100644 --- a/docker/nginx/nginx.conf +++ b/docker/nginx/nginx.conf @@ -35,6 +35,9 @@ server { location /3/ { proxy_pass http://django-api; } + location /1/ { + proxy_pass http://django-api; + } location /admin/ { proxy_pass http://django-api; } From ce62e0dab3f60c4ba8e00854fda1ccf85c693d2d Mon Sep 17 00:00:00 2001 From: wilfordgrimley <2397930+WilfordGrimley@users.noreply.github.com> Date: Sat, 1 Aug 2026 22:47:22 +0000 Subject: [PATCH 2/2] docs(catalog-stats): note nginx must route /1/ to django --- docs/features/catalog-stats.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/features/catalog-stats.md b/docs/features/catalog-stats.md index bff7de7fe..0b2a34333 100644 --- a/docs/features/catalog-stats.md +++ b/docs/features/catalog-stats.md @@ -447,3 +447,12 @@ columns with no `card` in the predicate, which the model's pre-existing `(card, anonymous_id)` index cannot serve (leading-column mismatch). See migration `0096`'s own docstring for the full reasoning, including why `anonymous_id` leads the composite index. + +## Deployment: nginx must route /1/ to django (PR #668) + +`docker/nginx/nginx.conf` must include a `location /1/` proxy block +forwarding to `http://django-api`, without which every /1/ request +returns a 404 at nginx. The stats page (`GET 1/catalogStats/`) renders +"The stats cache hasn't been computed yet" and the homepage participation +graph (`GET 1/funnelCounts/`) shows an error. The block was added in +PR #668; see [[../infrastructure.md]] for the full nginx setup.