Configurar Encabezados CORS

Genera configuraciones de Cross-Origin Resource Sharing para Express.js, Nginx, Apache, Fetch API, Spring Boot, Django y Laravel.

Crea y configura encabezados CORS visualmente con un editor interactivo. Define orígenes permitidos, métodos, encabezados, credenciales y tiempo máximo; luego exporta configuraciones listas para Express.js, Nginx, Apache, Fetch API, Spring Boot, Django y Laravel. Todo el procesamiento ocurre en tu navegador.

Loading...
Tus datos no salen de tu navegador
¿Te ha sido útil está herramienta?
Tutorial

Cómo configurar encabezados CORS

1
1

Definir orígenes permitidos

Específica que dominios pueden acceder a tu API agregando URLs de origen o usando un comodin para acceso abierto.

2
2

Seleccionar métodos y encabezados

Elige que métodos HTTP como GET, POST o PUT están permitidos, y define encabezados personalizados que tu API acepta.

3
3

Exportar la configuración

Cambia entre las pestañas de salida para copiar la configuración CORS para tu framework de servidor o proxy inverso.

Guide

Guía completa de configuración CORS

Por qué CORS existe en el navegador

Los navegadores aplican la política de mismo origen para evitar que sitios maliciosos lean datos sensibles de otros dominios. CORS relaja está restricción de forma controlada permitiendo que los servidores declaren que orígenes, métodos y encabezados están permitidos. Sin encabezados CORS, cualquier fetch o XMLHttpRequest cross-origin será bloqueado, incluso si el servidor proceso la peticion correctamente.

Entendiendo los encabezados CORS

El encabezado Access-Control-Allow-Origin específica orígenes de confianza. Access-Control-Allow-Methods lista los métodos HTTP permitidos como GET, POST y DELETE. Access-Control-Allow-Headers declara que encabezados de peticion personalizados se aceptan. Access-Control-Expose-Headers controla que encabezados de respuesta puede leer el navegador, y Access-Control-Max-Age cachea resultados preflight para reducir latencia.

Peticiones simples vs preflight

Las peticiones simples usan GET, HEAD o POST con tipos de contenido estándar y omiten el paso preflight. Cualquier peticion que usé otros métodos, encabezados personalizados o tipos de contenido no estándar activa una llamada OPTIONS preflight. El servidor debe responder al preflight con los encabezados CORS correctos antes de que el navegador envie la peticion real.

Errores comunes y mejores prácticas

Evita usar orígenes comodin en producción; establece una lista blanca de dominios específicos. Nunca combines orígenes comodin con credenciales porque los navegadores rechazaran la respuesta. Establece un Max Age razonable para reducir la sobrecarga preflight sin cachear politicas obsoletas. Siempre prueba CORS desde el origen del cliente real.

Examples

Ejemplos de configuración CORS

API Express.js para una app React

Una SPA React en https://app.example.com necesita llamar a una API Express en https://api.example.com con tokens JWT.

1

Establecer origen permitido a https://app.example.com

2

Habilitar métodos GET, POST, PUT, DELETE

3

Agregar Authorization a los encabezados permitidos

4

Habilitar credenciales

Access-Control-Allow-Origin: https://app.example.com; Access-Control-Allow-Methods: GET, POST, PUT, DELETE; Access-Control-Allow-Headers: Authorization; Access-Control-Allow-Credentials: true

Proxy inverso Nginx para API pública

Una API REST pública detrás de Nginx que acepta peticiones JSON desde cualquier origen.

1

Establecer origen permitido a *

2

Habilitar métodos GET, POST, OPTIONS

3

Agregar Content-Type a los encabezados permitidos

4

Establecer edad máxima a 86400 segundos

Access-Control-Allow-Origin: *; Access-Control-Allow-Methods: GET, POST, OPTIONS; Access-Control-Allow-Headers: Content-Type; Access-Control-Max-Age: 86400

Casos de uso

Casos de uso de CORS

API REST pública

Establece los orígenes permitidos como comodin (*) y habilita los métodos GET y POST para una API pública. Esto permite que cualquier aplicación frontend consuma tus endpoints sin restricciones, ideal para servicios de datos abiertos y APIs de documentación pública.

Backend para aplicación SPA

Restringe los orígenes permitidos al dominio de tu SPA y habilita credenciales para autenticación basada en cookies. Esto asegura que solo tu frontend pueda llamar a la API manteniendo el estado de sesión en peticiones cross-origin de forma segura.

Gateway de microservicios

Configura multiples orígenes permitidos para servicios internos detrás de un proxy inverso. Establece métodos específicos y encabezados expuestos para que cada microservicio pueda comunicarse a través del gateway bloqueando orígenes externos no autorizados.

Preguntas frecuentes

?Qué es CORS?

CORS es un mecanismo de seguridad del navegador que controla que dominios externos pueden acceder a recursos en tu servidor mediante encabezados HTTP.

?Por qué recibo errores de CORS?

Los navegadores bloquean peticiones cross-origin por defecto. Necesitas configurar tu servidor para enviar los encabezados Access-Control-Allow correctos.

?Puedo usar comodin (*) con credenciales?

No. Los navegadores rechazan respuestas que combinan Access-Control-Allow-Origin: * con credenciales. Debes especificar orígenes exactos.

?Qué es una peticion preflight?

Un preflight es una peticion OPTIONS que el navegador envía antes de ciertas llamadas cross-origin para verificar si el servidor permite la peticion real.

?Qué controla Max Age?

Max Age indica a los navegadores cuanto tiempo cachear respuestas preflight en segundos, reduciendo peticiones OPTIONS repetidas al mismo endpoint.

?Mis datos son privados?

Si. Todo se ejecuta localmente en tu navegador. No se envía ningún dato a ningún servidor. Tu configuración CORS nunca sale de tu máquina.

?Está herramienta es gratuita?

Si. Completamente gratuita sin límites, sin registró requerido. Genera tantas configuraciones como necesites sin ninguna restricción.

Ayúdanos a mejorar

¿Qué te parece está herramienta?

Cada herramienta de Kitmul se construye a partir de peticiones reales de usuarios. Tu valoración y tus sugerencias nos ayudan a arreglar bugs, añadir funciones que faltan y construir las herramientas que realmente necesitas.

Valora está herramienta

Pulsa una estrella para contarnos lo útil que te ha resultado.

Sugiere una mejora o reporta un bug

¿Te falta alguna función? ¿Has encontrado un falló? ¿Tienes una idea? Cuéntanoslo y lo revisaremos.

Herramientas relacionadas

Lectura Recomendada

Libros recomendados sobre seguridad web y CORS

Cómo asociado de Amazon, ganamos con las compras que califican.

Potencia tus Capacidades

Herramientas de seguridad para desarrolladores web

Cómo asociado de Amazon, ganamos con las compras que califican.

Boletín

Recibe Consejos de Productividad y Nuevas Herramientas Primero

Únete a creadores y desarrolladores que valoran la privacidad. En cada edición: nuevas herramientas, trucos de productividad y novedades — sin spam.

Acceso prioritario a nuevas herramientas
Cancela en cualquier momento, sin preguntas