# Bloqueos de Cloudflare a agentes de IA: qué corregir primero

Source: https://ipvolt.com/es/blog/cloudflare-ai-agent-proxy-setup
Markdown: https://ipvolt.com/es/blog/cloudflare-ai-agent-proxy-setup.md
Language: es

[Inicio de ipvolt](https://ipvolt.com/es.md) / [Blog](https://ipvolt.com/es/blog.md) / Bloqueos de Cloudflare a agentes de IA: qué corregir primero

Análisis
Publicado: 2026-09-14
Actualizado: 2026-09-14
Por ipvolt
10 min de lectura

Diagnostica fallos de Cloudflare en tareas de agentes de IA, configura un proxy de navegador estable y rechaza desafíos o contenido inválido antes de la ingestión RAG.

Para una tarea permitida de agente de navegador, empieza con **una salida estable soportada por el proveedor, un único contexto de navegador y una puerta de respuesta antes de la extracción**. Después cambia el componente que el fallo realmente identifica. La autenticación del proxy necesita una corrección de configuración. Un rechazo del destino necesita una decisión de acceso. Una página de desafío (challenge) debe quedar fuera de tu corpus RAG, incluso cuando devuelve HTTP 200.

Esa es la configuración útil para un scraper, un worker de recuperación o un agente de navegador que se enfrenta a fallos de Cloudflare. Aquí no hay evidencia de que cambiar a proxies residenciales o móviles resuelva todos los bloqueos.

**Fecha de comprobación: 14 de septiembre de 2026.** El cambio anunciado por Cloudflare está programado para el 15 de septiembre. Este artículo describe ese anuncio y un flujo de trabajo de diagnóstico; no informa de un despliegue observado ni establece la causa de tu error actual.

## Qué cambia el 15 de septiembre

El anuncio de julio de Cloudflare separa la actividad de **Search, Agent y Training**. Los dominios recién incorporados bloquearán por defecto la actividad de Training y Agent en páginas que muestren anuncios, mientras que Search seguirá permitida. Por separado, un rastreador que combine Search con Training sigue la regla aplicable más restrictiva, incluido un bloqueo de Training existente. El valor por defecto para páginas con anuncios y la clasificación de propósito mixto son cambios distintos. [Anuncio original de Cloudflare](https://blog.cloudflare.com/content-independence-day-ai-options/)

La nota de prensa de la compañía indica que los valores por defecto para páginas con anuncios cubren a clientes nuevos, sitios nuevos de clientes existentes y clientes Free existentes **si no han cambiado la configuración de su panel antes del 15 de septiembre**. «Todos los sitios del plan gratuito» pierde ese matiz. Los clientes pueden cambiar su configuración. [Anuncio de Cloudflare sobre los grupos de clientes afectados](https://www.cloudflare.com/press/press-releases/2026/cloudflare-allows-the-agentic-internet-to-flourish-with-a-simple-philosophy-your-content-your-rules/)

Los propietarios pueden elegir un bloqueo de todo el sitio, un bloqueo de páginas con anuncios o Allow para cada categoría. Las categorías describen actividad; el nombre de tu biblioteca de navegador o de tu pipeline RAG no establece su clasificación. Cloudflare detecta por sí misma las páginas con anuncios, así que desactivar la descarga de anuncios en tu navegador no anula la política. [Referencia de la política de bots de IA](https://developers.cloudflare.com/bots/additional-configurations/block-ai-bots/)

## Identifica el salto que falló antes de cambiar el proxy

Mantén separados en tu registro de recuperación el intercambio con el proxy, la navegación al destino y cualquier respuesta de una API de scraping gestionada. Un HTTP 402 de `api.firecrawl.dev` y un HTTP 402 de un editor requieren acciones distintas.

Un 403 por sí solo no identifica la política del 15 de septiembre. Cloudflare documenta múltiples orígenes posibles, incluidos permisos del origen y otras reglas de seguridad. `cf-ray` ayuda a correlacionar una petición con los eventos del operador del sitio; no nombra la regla que la rechazó. Registra una marca de tiempo UTC, la ruta relevante y el Ray ID cuando esté disponible. Mantén privados los parámetros sensibles de la URL. [Causas del 403](https://developers.cloudflare.com/support/troubleshooting/http-status-codes/4xx-client-error/error-403/), [Diagnóstico con Ray ID](https://developers.cloudflare.com/fundamentals/reference/cloudflare-ray-id/)

| Observación | Siguiente acción | Tratamiento en RAG |
| --- | --- | --- |
| 407 del proxy, o error de autenticación/conexión del navegador | Verifica el gateway configurado, las credenciales y la cuenta del proveedor. Chromium puede exponer un fallo del proxy como una excepción de navegación. | Marca la recuperación como no disponible; conserva el motivo. |
| Destino con `cf-mitigated: challenge` | Investiga la vía de acceso permitida del sitio y los requisitos de navegador. Detén los reintentos automáticos del desafío. | Pon en cuarentena la respuesta, incluido un 200 nominal. |
| 403 del destino sin esa señal de desafío | Pide al operador del sitio que correlacione la petición con las reglas de acceso/seguridad; usa una API, un feed o una vía permitida acordados cuando estén disponibles. | No disponible; la política concreta sigue siendo desconocida. |
| 429 de un salto conocido | Respeta `Retry-After` cuando se proporcione; reduce el trabajo en el ámbito afectado y limita el presupuesto total de reintentos. | Aplaza la recuperación; conserva su estado de frescura. |
| 402 del destino | Inspecciona el contexto de pago/acceso del editor y la integración documentada. | No disponible hasta una obtención posterior aceptada. |
| HTTP 402 de la API de Firecrawl | Comprueba los créditos de Firecrawl y la configuración de facturación. | El estado del objetivo sigue siendo desconocido salvo que se informe por separado. |
| HTTP 200 con contenido ausente, vacío o incorrecto | Comprueba el renderizado, los subrecursos requeridos y el contrato de extracción. | Conserva cualquier documento válido anterior; marca la actualización fallida. |

La cabecera de desafío es la señal de respuesta documentada por Cloudflare. Una cabecera ausente no establece que el contenido sea utilizable. HTTP 407 identifica la autenticación del proxy; 429 deja el ámbito del conteo al servicio que responde, así que cambiar de salida no demuestra que la cuota se haya reiniciado. [Detección de desafíos](https://developers.cloudflare.com/cloudflare-challenges/challenge-types/challenge-pages/detect-response/), [Semántica del 407](https://www.rfc-editor.org/rfc/rfc9110.html#section-15.5.8), [Semántica del 429](https://www.rfc-editor.org/rfc/rfc6585#section-4)

Para Firecrawl alojado, examina el error externo de la API junto con los metadatos del objetivo devueltos y los errores del trabajo. Su catálogo de errores de la API describe el 402 como créditos insuficientes o configuración de facturación ausente. Su respuesta de scrape puede incluir por separado `data.metadata.statusCode`. Estos campos deben seguir separados en tus logs. [Errores de Firecrawl](https://docs.firecrawl.dev/api-reference/errors), [Contrato de la respuesta de scrape](https://docs.firecrawl.dev/api-reference/endpoint/scrape)

## Una configuración de proxy para una tarea de navegador completa

Para un flujo de trabajo con estado, solicita una salida estable durante toda la tarea y conserva un único contexto de navegador a lo largo de sus pasos. El proveedor controla la afinidad de la salida; el contexto guarda las cookies y el almacenamiento del navegador. Confirma la duración de sesión del proveedor, el comportamiento al reconectar y la política de reemplazo anticipado de la salida. Una dirección de gateway fija por sí sola no demuestra ninguna de esas propiedades. La [guía de continuidad de sesión](/es/guides/rotating-vs-sticky-proxies) explica qué verificar.

Una dirección fija aprobada es un buen punto de partida cuando el propietario del sitio permite esa dirección. Una región requerida puede justificar una salida regional. Para otra carga de trabajo, compara las rutas candidatas con el mismo conjunto de URLs, cuenta, sesión, región y concurrencia. Cuenta documentos válidos y recientes por documento intentado y el coste por documento aceptado, incluidos los reintentos y el tráfico de renderizado. Una etiqueta de residencial/móvil es evidencia insuficiente para elegir un ganador; la [comparación de proxies](/es/blog/residential-vs-datacenter-proxies) cubre esa evaluación.

Coloca la configuración del proxy donde se realiza la petición de la página:

| Stack | Límite de configuración | Detalle que cambia el diagnóstico |
| --- | --- | --- |
| Playwright | Pasa un objeto `proxy` con `server`, `username` y `password` a `browser.newContext`, o configúralo en el lanzamiento del navegador. | `httpCredentials` es autenticación con el destino. Un cliente HTTP de Node/Python separado necesita su propia configuración. [Documentación de red](https://playwright.dev/docs/network#http-proxy) |
| Puppeteer | Establece `proxyServer` en el contexto; usa `page.authenticate` para el usuario/contraseña del proxy antes de navegar. | `proxyServer` es una cadena de endpoint. Configura también las páginas recién creadas. [Opciones de contexto](https://pptr.dev/api/puppeteer.browsercontextoptions), [autenticación](https://pptr.dev/api/puppeteer.page.authenticate) |
| Browser Use | El navegador de código abierto acepta `Browser(proxy=ProxySettings(...))`. | Con CDP o un navegador gestionado, verifica el contrato de salida del navegador remoto. La configuración local no establece control sobre un navegador remoto que ya está en ejecución. [Parámetros](https://docs.browser-use.com/open-source/customize/browser/all-parameters), [navegadores remotos](https://docs.browser-use.com/open-source/customize/browser/remote) |
| Firecrawl alojado | El campo `proxy` del scrape v2 selecciona `basic`, `enhanced` o `auto`; `auto` es el valor por defecto. | Es un selector de estrategia gestionada, no una URL de proxy personalizada. Establecer un `HTTP_PROXY` local no configura la obtención remota del objetivo. [API de scrape](https://docs.firecrawl.dev/api-reference/endpoint/scrape) |

Mantén los reintentos bajo un único presupuesto por tarea. Los intentos internos de un servicio alojado, más los reintentos del SDK, más el bucle de «inténtalo de nuevo» del agente pueden multiplicar el trabajo. Tras un rechazo, conserva el motivo y elige la siguiente acción de la tabla antes de programar otro intento.

## Ejecuta la puerta de respuesta antes de la extracción

La sonda de Playwright descargable realiza una navegación, clasifica su respuesta principal y comprueba que haya texto no vacío en un selector CSS esperado. Emite un pequeño diagnóstico JSON, sin la URL objetivo, el cuerpo, las credenciales ni la excepción sin procesar. No extrae ni ingiere contenido.

Descarga [probe.mjs](https://ipvolt.com/downloads/cloudflare-ai-agent/probe.mjs), [package.json](https://ipvolt.com/downloads/cloudflare-ai-agent/package.json), [package-lock.json](https://ipvolt.com/downloads/cloudflare-ai-agent/package-lock.json), [test-fixture.mjs](https://ipvolt.com/downloads/cloudflare-ai-agent/test-fixture.mjs) y el [README](https://ipvolt.com/downloads/cloudflare-ai-agent/README.md) en un mismo directorio. Usa Node.js 22 o posterior, ejecuta `npm ci` y después `npx playwright install chromium`. El paquete fija Playwright 1.63.0.

Inyecta estos ajustes a través de tu mecanismo existente de configuración/secretos y luego ejecuta `node probe.mjs`:

- `PROXY_SERVER`: una URL de gateway `http://` sin credenciales, sin ruta ni query.
- `PROXY_USERNAME` y `PROXY_PASSWORD`: las credenciales de tu proveedor, con cualquier ajuste de sesión documentado.
- `TARGET_URL`: la página que estás comprobando.
- `EXPECTED_SELECTOR`: un selector CSS específico como `main article[data-document-id]`, cuyo elemento coincidente debe contener texto.

La sonda concede 15 segundos para la navegación y otros 5 segundos para la comprobación del contenido. Crea y cierra un contexto nuevo por invocación. Para una tarea de producción de varios pasos, conserva el contexto de la tarea y aplica las mismas comprobaciones a sus respuestas relevantes. La [guía de configuración de Playwright](/es/guides/playwright-proxy-setup) cubre las credenciales y la configuración del contexto.

Esta sección de clasificación se ejecuta antes de la comprobación del selector:

```javascript
  if (result.cf_mitigated) return 'challenge';
  if (result.status === 402) return 'payment_or_access_review';
  if (result.status === 403) return 'access_review';
  if (result.status === 407) return 'proxy_auth_error';
  if (result.status === 429) return 'rate_limited';
  if (result.status >= 500 && result.status < 600) return 'upstream_error';
  if (result.status !== 200) return 'unexpected_status';
  if (!/^text\/html(?:\s*;|$)/i.test(headers['content-type'] ?? '')) return 'invalid_content';
  return null;
```

La función completa establece `cf_mitigated` solo cuando la cabecera de respuesta es igual a `challenge`. Un `null` aquí significa continuar con la comprobación del contenido. El resultado final `accepted_content` requiere HTTP 200, HTML y contenido esperado no vacío; sale con 0. Los demás resultados salen con 2.

En nuestras **18 comprobaciones sintéticas**, todos los resultados esperados coincidieron: cuatro respuestas pasaron la puerta mínima y catorce se retuvieron. Una respuesta del fixture con estado 200 y `cf-mitigated: challenge` produjo `outcome: challenge` y salida 2. El contenido esperado ausente o vacío también falló. Unas credenciales de proxy incorrectas expusieron un 407 y `proxy_auth_error` tras dos desafíos de autenticación; no se reenvió ninguna petición. Un caso aceptado incluyó deliberadamente un subrecurso 403 fallido, demostrando el límite de la comprobación del documento principal. [Resultados exactos del fixture](https://ipvolt.com/downloads/cloudflare-ai-agent/example-output.json)

Ejecuta `node test-fixture.mjs` para reproducir la suite local. Usó Node 26.8.1, Playwright 1.63.0 y Chromium 153.0.8010.12, con un origen local y un proxy HTTP con autenticación. Los comandos de instalación y el fixture también se ejecutaron desde archivos idénticos descargados de un servidor HTTP local. Estas comprobaciones establecen el comportamiento de esta sonda con respuestas sintéticas; no establecen el acceso real a Cloudflare, la estabilidad de la salida del proveedor ni el comportamiento de HTTPS CONNECT.

Trata la aceptación como permiso para ejecutar una validación más profunda. Un selector amplio puede coincidir con una pantalla de inicio de sesión, y una subpetición JSON requerida puede fallar mientras el HTML principal pasa. Valida la identidad del documento, los campos requeridos, la configuración regional y la frescura sobre el contenido exacto que tu worker va a ingerir. Una sonda exitosa no puede aprobar una obtención posterior que devuelva algo distinto. Conserva el último documento válido cuando falle una actualización, con su antigua hora de recuperación visible para el consumidor.

## Cuando la solución está en las reglas de acceso del sitio

Si operas el sitio objetivo, inspecciona la regla de seguridad coincidente junto con su política de rastreadores de IA. Un ajuste de Allow en AI Crawl Control puede seguir siendo anulado por reglas del WAF que se ejecutan antes. Por tanto, una petición que no aparece en la vista de rastreadores de IA es motivo para revisar también los eventos de seguridad. Si otro equipo es dueño del sitio, comparte los identificadores de la petición y acuerda con ese equipo la ruta de acceso prevista. [Precedencia de reglas de Cloudflare](https://developers.cloudflare.com/ai-crawl-control/configuration/ai-crawl-control-with-waf/)

Pay Per Crawl es un acuerdo de acceso independiente. Su documentación lo etiqueta actualmente como beta cerrada; una petición cobrable sin pagar puede recibir HTTP 402 con `crawler-price`. Las peticiones pagadas requieren la inscripción documentada y el flujo firmado de intención de pago. Añadir una cabecera de pago sin firmar es insuficiente, y los bloqueos de WAF/Bot Management pueden seguir impidiendo el acceso. Resuelve la participación y el presupuesto de forma deliberada en lugar de dejar que un agente interprete cualquier 402 como autorización para gastar. [Alcance de Pay Per Crawl](https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/), [protocolo de petición](https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/use-pay-per-crawl-as-ai-owner/crawl-pages/)

Tu pipeline debería poder devolver «fuente no disponible» con un motivo y una marca de tiempo. Eso da al llamador una decisión utilizable cuando todavía se requiere una corrección de autenticación, un cambio de regla aprobado por el propietario o una interfaz de contenido soportada.

*Método: redacción asistida por IA por parte de ipvolt, contrastada con la documentación primaria enlazada el 14 de septiembre de 2026. La prueba descargable usa respuestas sintéticas locales. No mide el bloqueo real de Cloudflare, el rendimiento de proveedores de proxy, el comportamiento de HTTPS CONNECT ni el despliegue del 15 de septiembre.*

ipvolt está en desarrollo. Únete para recibir un único correo cuando se abra el acceso. Nada más.

[Recibe un aviso cuando se abra el acceso a ipvolt](https://ipvolt.com/#waitlist-hero).

## Fuentes

- [Cloudflare: Your site, your rules — new AI traffic options](https://blog.cloudflare.com/content-independence-day-ai-options/)
- [Cloudflare: September 15 announcement and existing Free customer scope](https://www.cloudflare.com/press/press-releases/2026/cloudflare-allows-the-agentic-internet-to-flourish-with-a-simple-philosophy-your-content-your-rules/)
- [Cloudflare: Block AI Bots](https://developers.cloudflare.com/bots/additional-configurations/block-ai-bots/)
- [Cloudflare: Detect a Challenge Page response](https://developers.cloudflare.com/cloudflare-challenges/challenge-types/challenge-pages/detect-response/)
- [Cloudflare: AI Crawl Control with WAF](https://developers.cloudflare.com/ai-crawl-control/configuration/ai-crawl-control-with-waf/)
- [Cloudflare: Error 403](https://developers.cloudflare.com/support/troubleshooting/http-status-codes/4xx-client-error/error-403/)
- [Cloudflare: Ray ID](https://developers.cloudflare.com/fundamentals/reference/cloudflare-ray-id/)
- [Cloudflare: What is Pay Per Crawl?](https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/)
- [Cloudflare: Pay Per Crawl request protocol](https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/use-pay-per-crawl-as-ai-owner/crawl-pages/)
- [Playwright: HTTP proxy configuration](https://playwright.dev/docs/network#http-proxy)
- [Puppeteer: BrowserContextOptions](https://pptr.dev/api/puppeteer.browsercontextoptions)
- [Puppeteer: Page.authenticate](https://pptr.dev/api/puppeteer.page.authenticate)
- [Browser Use: Browser parameters](https://docs.browser-use.com/open-source/customize/browser/all-parameters)
- [Browser Use: Remote browser configuration](https://docs.browser-use.com/open-source/customize/browser/remote)
- [Firecrawl: Hosted v2 scrape API](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
- [Firecrawl: API errors](https://docs.firecrawl.dev/api-reference/errors)
- [RFC 6585: HTTP 429](https://www.rfc-editor.org/rfc/rfc6585#section-4)
- [RFC 9110: Proxy authentication required](https://www.rfc-editor.org/rfc/rfc9110.html#section-15.5.8)

## Entérate cuando se abra el acceso a ipvolt.

Ya que estás aquí

ipvolt está en desarrollo. Deja tu correo y te avisaremos una sola vez cuando se abra el acceso.

Un correo cuando se abra el acceso. Nada más.

[Solicitar acceso anticipado](https://ipvolt.com/es/blog/cloudflare-ai-agent-proxy-setup#waitlist-blog-end)

[Privacidad](https://ipvolt.com/privacy)


## Artículos relacionados

- [Configurar proxies en MostLogin: añadir, probar y compartir](https://ipvolt.com/es/blog/mostlogin-proxy-setup.md) (Análisis, 17 sept 2026, 9 min de lectura): Añade un proxy a los perfiles de MostLogin paso a paso: protocolo, host y puerto, credenciales, comprobación de IP, acceso del equipo, importación masiva y errores.
- [Precios en Amazon: tu oferta frente a la Oferta Destacada](https://ipvolt.com/es/blog/amazon-offer-vs-featured-offer.md) (Análisis, 16 sept 2026, 7 min de lectura): Compara tu oferta de Amazon con la Oferta Destacada usando contexto emparejado, envío conocido y un modelo offline probado que conserva los datos ausentes.
- [Actualizaciones de listings en Amazon: aceptado no es activo](https://ipvolt.com/es/blog/amazon-listing-update-reconciliation.md) (Análisis, 14 sept 2026, 9 min de lectura): Diagnostica actualizaciones de listings de Amazon aceptadas separando atributos enviados, ofertas activas, inventario y comprabilidad, con una matriz de conciliación.

## Guías relacionadas

- [Configurar un proxy en Playwright](https://ipvolt.com/es/guides/playwright-proxy-setup.md): Configura un proxy HTTP autenticado en un contexto de navegador de Playwright, aísla el estado de la prueba y diagnostica la navegación por separado de los subrecursos.
- [Proxies rotativos vs persistentes: planifica la continuidad](https://ipvolt.com/es/guides/rotating-vs-sticky-proxies.md): Elige la rotación según el flujo completo más pequeño, distingue la afinidad de salida de las cookies y prueba qué pasa si una sesión persistente termina antes.
- [Corrige el error de proxy 407 sin adivinar](https://ipvolt.com/es/guides/fix-proxy-error-407.md): Diagnostica Proxy Authentication Required en un orden repetible: gateway, método de autenticación, codificación de credenciales, alcance de cuenta y ajustes del cliente.

## Sobre ipvolt

Análisis técnico del equipo de ipvolt.

El acceso a ipvolt aún no está abierto.

[Leer el original en inglés](https://ipvolt.com/blog/cloudflare-ai-agent-proxy-setup.md)
