initial
This commit is contained in:
80
CLOUDFLARE_FIX.md
Normal file
80
CLOUDFLARE_FIX.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# 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:
|
||||
1. Ve a tu Dashboard de Cloudflare → `amayo.dev`
|
||||
2. Click en **Page Rules** (en el menú lateral)
|
||||
3. Click **Create Page Rule**
|
||||
4. Configura la regla:
|
||||
```
|
||||
URL Pattern: api.amayo.dev/auth/*
|
||||
Settings:
|
||||
- Security Level: Off
|
||||
- Disable Performance
|
||||
- Disable Apps
|
||||
```
|
||||
5. **Save and Deploy**
|
||||
|
||||
## Solución: Opción 2 (Temporal) - Desactivar Proxy en api.amayo.dev
|
||||
|
||||
### Pasos:
|
||||
1. Ve a Cloudflare Dashboard → DNS Records
|
||||
2. Encuentra el registro A para `api`
|
||||
3. **Click en la nube naranja** para cambiarla a gris (DNS only)
|
||||
4. Espera 1-2 minutos para propagación
|
||||
5. **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:
|
||||
1. Ve a Cloudflare Dashboard → **Security** → **WAF**
|
||||
2. Ir a **Custom Rules** o **Firewall Rules**
|
||||
3. Create Rule:
|
||||
```
|
||||
Rule name: Allow OAuth Routes
|
||||
|
||||
When incoming requests match:
|
||||
Field: URI Path
|
||||
Operator: starts with
|
||||
Value: /auth/
|
||||
|
||||
Then:
|
||||
Action: Allow
|
||||
```
|
||||
4. Deploy and test
|
||||
|
||||
## Verificación
|
||||
|
||||
Después de aplicar CUALQUIERA de las soluciones:
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
1. Abre https://docs.amayo.dev en modo incógnito
|
||||
2. Click "Continue with Discord"
|
||||
3. Debería redirigir a Discord OAuth
|
||||
4. Después del login → dashboard
|
||||
|
||||
---
|
||||
|
||||
**Recomendación Final**: Usar **Opción 1 (Page Rules)** para permitir `/auth/*` sin desproteger todo el API.
|
||||
Reference in New Issue
Block a user