The rewrites() approach resolves the backend URL once at server startup, which always falls back to http://backend:8000 on Railway (where that Docker Compose hostname doesn't exist). This caused ECONNREFUSED for /api/analyze and all other proxied routes. Fix: Add app/api/[...path]/route.ts that resolves the backend URL per-request via getBackendUrl(), matching the pattern already used by /api/chat and /api/auth/google/token routes. Changes: - New: frontend/app/api/[...path]/route.ts — catch-all proxy (GET/POST/PUT/PATCH/DELETE) - Removed: frontend/app/api/chat/route.ts — now handled by catch-all - Updated: frontend/next.config.ts — removed rewrites() block - Updated: frontend/Dockerfile — cleared NEXT_PUBLIC_API_URL build default Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| [...path] | ||
| auth | ||
| config | ||