Herramientas GitHub Pages

Gratis Generador de cabeceras Reporting API

Genere cabeceras HTTP Report-To y Reporting-Endpoints para informes del navegador, violaciones CSP y Network Error Logging.

Cargando herramienta...

Qué es Generador de cabeceras Reporting API?

La Reporting API es una API del navegador que recopila informes sobre diversos problemas (violaciones CSP, eventos de Network Error Logging, advertencias de obsolescencia, intervenciones del navegador e informes de fallos) y los envía a un endpoint configurable. Usa cabeceras HTTP (Report-To o Reporting-Endpoints) para indicar al navegador dónde enviar los informes. La cabecera Reporting-Endpoints es el estándar más reciente, reemplazando la cabecera heredada Report-To. Los navegadores agrupan los informes y los envían periódicamente para minimizar la sobrecarga de red.

Respuesta rápida

Genere cabeceras HTTP Report-To y Reporting-Endpoints para Nginx y Apache. Elija entre la sintaxis heredada Report-To y la más reciente Reporting-Endpoints. Configure opcionalmente las directivas CSP report-uri/report-to y las cabeceras Network Error Logging (NEL). La Reporting API (Chrome 69+, Safari 16.4+, Edge 79+) recopila violaciones CSP, eventos NEL, advertencias de obsolescencia, intervenciones del navegador e informes de fallos en un endpoint central.

Last updated: 2026-05-31

Limitaciones

  • El soporte de la cabecera Reporting-Endpoints varía según el navegador. Chrome la soporta desde la versión 69+, Safari desde 16.4+ y Edge desde 79+. El soporte de Firefox para Reporting-Endpoints es limitado. La cabecera heredada Report-To sigue siendo necesaria para una compatibilidad más amplia con navegadores.
  • No se garantiza la entrega de los informes. Los navegadores agrupan los informes y los envían según su propio horario. Si el usuario cierra la pestaña antes de que se envíe el lote, los informes pueden perderse. No confíe en la Reporting API para monitoreo crítico: úsela como fuente de datos complementaria junto con el registro del lado del servidor.
  • El endpoint de informes debe ser accesible mediante HTTPS. Los navegadores rechazan enviar informes a endpoints HTTP para sitios servidos sobre HTTPS. Los sitios de GitHub Pages que usan un recolector de informes personalizado deben asegurarse de que el recolector tenga un certificado TLS válido.

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

Cómo usar esta herramienta

  1. Elija la versión de cabecera: Report-To heredada para mayor compatibilidad o la cabecera estándar Reporting-Endpoints más reciente. Reporting-Endpoints es más simple pero tiene soporte de navegador más reciente.
  2. Seleccione su tipo de servidor (Nginx o Apache) y copie la configuración de cabecera generada en su configuración de servidor, bloque de host virtual o archivo .htaccess.
  3. Active opcionalmente el informe CSP seleccionando un tipo de directiva CSP (report-uri, report-to o ambos). El fragmento generado incluye las directivas de informes CSP apropiadas.
  4. Configure opcionalmente Network Error Logging (NEL) con su URL de endpoint de informes, duración de caché y tasas de muestreo de éxito/fallo.

Para qué puedes usarla

  • Recopilar informes de violación CSP en un endpoint central para monitorear y ajustar su política de seguridad de contenido sin bloquear contenido legítimo.
  • Monitorear informes de Network Error Logging para detectar y diagnosticar fallos de red, problemas DNS, errores TLS y problemas de conectividad experimentados por usuarios reales.
  • Recibir informes de advertencias de obsolescencia e intervenciones del navegador para identificar funciones en su sitio que necesitan actualización antes de que los navegadores eliminen el soporte.

Casos de uso

Ejemplos prácticos

Ejemplo

Sitio GitHub Pages con monitoreo CSP

Un sitio de GitHub Pages establece una política de seguridad de contenido estricta y desea recibir informes de violación. Configure una cabecera Reporting-Endpoints con un CSP-endpoint, añada Content-Security-Policy con report-to: CSP-endpoint y active NEL para detectar problemas de red que afecten la carga de activos. Los informes se envían POST a un pequeño endpoint de servidor que los registra y agrega.

Ejemplo

Proxy inverso Nginx con conjunto completo de informes

Un proxy inverso Nginx de producción frente a una aplicación Node.js configura tanto cabeceras Reporting-Endpoints como Content-Security-Policy-Report-Only. Las violaciones CSP, eventos NEL y advertencias de obsolescencia se envían POST a un único endpoint de informes en /_reports. NEL se configura con max_age 86400 y una tasa de muestreo de fallos de 0.1 para recopilar datos representativos de errores de red sin abrumar el endpoint.

Errores comunes

  • Usar ambas cabeceras Report-To y Reporting-Endpoints simultáneamente: los navegadores pueden enviar informes duplicados si ambas cabeceras están presentes. Migre de Report-To a Reporting-Endpoints eliminando la cabecera antigua una vez que Reporting-Endpoints esté configurada y probada.
  • Configurar un CSP report-uri sin un endpoint de informes correspondiente: report-uri envía informes a una URL arbitraria mediante solicitudes GET con parámetros de consulta, que pueden exceder los límites de longitud de URL para informes de violación grandes. Acompañe siempre report-uri o report-to con un endpoint receptor configurado adecuadamente que pueda manejar solicitudes POST.
  • Olvidar configurar CORS en el endpoint de informes: los informes se envían desde el origen donde se sirven las cabeceras, pero si su endpoint de informes está en un origen diferente, necesita aceptar solicitudes POST de origen cruzado. Esto es especialmente importante para sitios alojados en GitHub Pages que usan un recolector de informes externo.

Verificación

  1. Implemente las cabeceras en su servidor y verifique que estén presentes usando curl -I o el panel Network de DevTools. Compruebe que Reporting-Endpoints (o Report-To) aparezca en las cabeceras de respuesta para páginas HTML.
  2. Active una violación CSP cargando un script inline en una página protegida por CSP, luego verifique en su endpoint de informes el informe de violación recibido. El informe debe incluir la URI bloqueada, la directiva violada y el archivo fuente con número de línea.

FAQ

Preguntas sobre Generador de cabeceras Reporting API

¿Cuál es la diferencia entre las cabeceras Report-To y Reporting-Endpoints?

Report-To es el formato de cabecera heredado que usa una configuración JSON con grupos de endpoints y prioridades. Reporting-Endpoints es el formato más nuevo y simple que mapea nombres de endpoints directamente a URLs en una lista separada por comas. Reporting-Endpoints es preferido para nuevas implementaciones ya que reduce la complejidad de las cabeceras. Chrome soporta ambas, mientras que Safari y Firefox soportan Reporting-Endpoints. Para máxima compatibilidad, algunos sitios incluyen ambas durante la migración, aunque esto puede causar entrega duplicada de informes.

¿Cómo funciona Network Error Logging (NEL) con la Reporting API?

NEL se configura mediante una cabecera HTTP NEL que especifica un grupo de endpoints de informes, un max_age para la política y tasas de muestreo opcionales. Cuando el navegador intenta una solicitud de red y encuentra un error (fallo DNS, error TLS, tiempo de espera, etc.), genera un informe NEL y lo envía al endpoint de informes configurado. El navegador solo genera informes para el origen que sirvió la cabecera NEL. NEL no requiere ninguna instrumentación del lado del servidor: los informes provienen directamente de la pila de red del navegador.

¿Qué tipos de informes puede recopilar la Reporting API?

La Reporting API puede recopilar informes de violación CSP (cuando un recurso viola su política de seguridad de contenido), informes de Network Error Logging (errores de red como fallos DNS, tiempos de espera TCP, errores TLS), informes de obsolescencia (cuando su sitio usa una API de navegador obsoleta), informes de intervención (cuando el navegador bloquea o modifica el comportamiento en su sitio) e informes de fallos (cuando una página falla). Cada tipo de informe se configura mediante su propia cabecera HTTP o meta etiqueta, pero todos pueden enviarse al mismo endpoint de informes.

Herramientas relacionadas

Más herramientas github pages

Prueba también

Prueba también