Cloudflare Pages — Problemas de Build y Soluciones
Section titled “Cloudflare Pages — Problemas de Build y Soluciones”Problema 1: Submodules de Git
Section titled “Problema 1: Submodules de Git”Sintoma: El build fallaba con:
fatal: No url found for submodule path 'stacks/websites/agithome' in .gitmodulesFailed: error occurred while updating repository submodulesCausa: Cloudflare Pages ejecuta git clone --recurse-submodules y las carpetas
bajo stacks/websites/ (agithome, agitservices, albertskills, etc.) tenian directorios
.git residuales que Cloudflare interpretaba como submodules.
Solucion:
- Eliminar los directorios
.gitde cada subcarpeta - Crear un archivo
.gitmodulesvacio en la raiz del repo - Commit y push para forzar rebuild
# Remover .git de las subcarpetasfind stacks -name '.git' -type d -exec rm -rf {} + 2>/dev/null
# Crear .gitmodules vacioecho '' > .gitmodulesgit add -f .gitmodulesgit commit -m "fix: add empty .gitmodules for Cloudflare Pages"git pushResultado: Build exitoso sin errores de submodules.
Problema 2: Redirects Externos no Soportados
Section titled “Problema 2: Redirects Externos no Soportados”Sintoma: Warning en el log de build:
Found invalid redirect lines: - #3: /api/* https://blog-ai-lab.labrazahome.com/api/:splat 200 Proxy (200) redirects can only point to relative paths.Causa: El archivo public/_redirects contenia una regla de proxy (status 200)
a una URL externa. Cloudflare Pages solo permite proxy redirects a rutas relativas
dentro del mismo sitio.
Solucion: Eliminar la regla de redirect a URL externa. El API solo esta disponible a traves del blog privado (Traefik), no desde el sitio publico.
rm apps/ialab-docs/public/_redirectsAlternativa: Si se necesita el API en el sitio publico, usar un redirect 302 (sin proxy) o configurar un Cloudflare Worker para el proxy.
Lecciones Aprendidas
Section titled “Lecciones Aprendidas”- Cloudflare Pages no soporta
200(proxy) redirects a URLs externas - Las carpetas con
.gitinternos son detectadas como submodules - Un
.gitmodulesvacio previene errores de inicializacion - Siempre verificar los logs de build en Cloudflare Pages dashboard