Como usar: Gerador e Testador de CORS
- Em Gerar headers, liste as origens que podem chamar sua API (ou permita qualquer uma), marque os métodos e informe os headers de requisição que seu front-end envia — geralmente
Content-TypeeAuthorization. - Marque Permitir credenciais apenas se o navegador precisar enviar cookies ou um header Authorization com
credentials: 'include'. - Escolha sua plataforma e copie o código — Express, Nginx, Apache, Netlify, Vercel, Next.js, Workers ou PHP.
- Faça o deploy e depois mude para Testar uma URL: informe a URL da API e a origem da página para ver se o preflight e a requisição real passariam.
Por que os navegadores bloqueiam requisições
Uma página em https://app.example.com só consegue ler a resposta de https://api.example.com se a API autorizar isso com headers CORS. Para qualquer coisa além de um GET simples ou de um POST de formulário — corpos JSON, headers Authorization, PUT ou DELETE — o navegador envia primeiro um preflight: uma requisição OPTIONS que pergunta “esta origem pode usar este método e estes headers?”. Se a resposta estiver ausente ou errada, você verá “has been blocked by CORS policy” e seu código nunca receberá a resposta.
| Header | O que deve conter |
|---|---|
Access-Control-Allow-Origin | A origem que faz a chamada, exatamente, ou * (não permitido com credenciais) |
Access-Control-Allow-Methods | O método da requisição real (somente no preflight) |
Access-Control-Allow-Headers | Todos os headers de requisição não padrão, como Authorization ou Content-Type: application/json |
Access-Control-Allow-Credentials | true quando cookies ou credenciais são enviados |
Access-Control-Max-Age | Por quanto tempo o navegador pode guardar em cache a resposta do preflight |
Vary: Origin | Necessário quando a origem permitida muda a cada requisição, para que caches não entreguem a resposta de uma origem a outra |
Como o testador funciona
Nosso servidor envia a requisição com um header Origin e, se o navegador precisaria de um, um preflight OPTIONS com Access-Control-Request-Method e -Headers — igual ao Chrome ou Firefox. Em seguida, confere a resposta com as regras de CORS que os navegadores aplicam. Servidores que permitem apenas certos endereços IP ou exigem cookies podem responder de forma diferente para usuários reais. Veja também: Verificador de Headers HTTP, Testador de API, Verificador de Security Headers.
Também pesquisado como: gerador de cors, testar cors, verificador cors, blocked by cors policy, access-control-allow-origin, teste de preflight cors, cors express, cors nginx.
Ferramentas que combinam com: Gerador e Testador de CORS
- Gerador de CSP — Escolha o que seu site carrega — scripts, estilos, imagens, fontes, analytics, embeds — e gere uma Content-Security-Policy que permite exatamente isso, com avisos para configurações arriscadas.
- Conversor cURL — Cole um comando curl, da documentação de uma API ou da opção “Copiar como cURL” do DevTools do seu navegador, e receba código pronto para usar em seis linguagens, com headers, corpo e autenticação preservados.
- Gerador de configuração do Nginx — Escolha o que o Nginx deve fazer — servir um site estático ou um SPA, atuar como proxy para um aplicativo Node/Python ou executar PHP — e marque os recursos extras.
- Analisador de Cabeçalho de E-mail — Cole os cabeçalhos brutos de um e-mail para ver todo o seu percurso: cada salto entre servidores com o tempo que levou, os resultados de SPF, DKIM e DMARC, o IP de origem e sinais de alerta, como um Reply-To ou Return-Path divergente.