2.2 KiB
2.2 KiB
Fix Cloudflare 403 Forbidden en /auth/discord
Problema
Cloudflare WAF (Web Application Firewall) está bloqueando las peticiones a /auth/discord con 403 Forbidden ANTES de que lleguen al servidor backend.
Evidencia:
- Frontend correctamente apunta a
https://api.amayo.dev/auth/discord✅ - Backend tiene bypass de validación Cloudflare para
/auth/*✅ curl https://api.amayo.dev/auth/discord→ 403 Forbidden- Error viene de Cloudflare, no del backend
Solución: Opción 1 (Recomendada) - Page Rules en Cloudflare
Pasos:
- Ve a tu Dashboard de Cloudflare →
amayo.dev - Click en Page Rules (en el menú lateral)
- Click Create Page Rule
- Configura la regla:
URL Pattern: api.amayo.dev/auth/* Settings: - Security Level: Off - Disable Performance - Disable Apps - Save and Deploy
Solución: Opción 2 (Temporal) - Desactivar Proxy en api.amayo.dev
Pasos:
- Ve a Cloudflare Dashboard → DNS Records
- Encuentra el registro A para
api - Click en la nube naranja para cambiarla a gris (DNS only)
- Espera 1-2 minutos para propagación
- Prueba el login
⚠️ IMPORTANTE: Esto desprotege completamente api.amayo.dev. Después de verificar que funciona, puedes volver a activar el proxy (nube naranja) y usar la Opción 1.
Solución: Opción 3 - Firewall Rules para permitir /auth/*
Pasos:
- Ve a Cloudflare Dashboard → Security → WAF
- Ir a Custom Rules o Firewall Rules
- Create Rule:
Rule name: Allow OAuth Routes When incoming requests match: Field: URI Path Operator: starts with Value: /auth/ Then: Action: Allow - Deploy and test
Verificación
Después de aplicar CUALQUIERA de las soluciones:
# Test desde terminal
curl -I https://api.amayo.dev/auth/discord
# Debería devolver: HTTP/2 302 (redirect a Discord)
# NO: HTTP/2 403
Probar Login
- Abre https://docs.amayo.dev en modo incógnito
- Click "Continue with Discord"
- Debería redirigir a Discord OAuth
- Después del login → dashboard
Recomendación Final: Usar Opción 1 (Page Rules) para permitir /auth/* sin desproteger todo el API.