CORS 测试工具

在线测试跨域请求CORS配置,显示响应头信息,诊断CORS错误,生成服务器配置代码

测试目标 URL

测试结果

输入URL后点击"测试 CORS"按钮开始测试

CORS 配置生成器

使用 * 允许所有源(不推荐生产环境)

配置代码

// Node.js (http module)
const http = require('http');

http.createServer((req, res) => {
  // 设置 CORS 头
  res.setHeader('Access-Control-Allow-Origin', 'https://example.com');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
  
  
  res.setHeader('Access-Control-Max-Age', '3600');

  // 处理预检请求
  if (req.method === 'OPTIONS') {
    res.writeHead(204);
    res.end();
    return;
  }

  // 处理实际请求
  res.writeHead(200);
  res.end('Hello World');
}).listen(3000);

CORS 详解

什么是 CORS?

跨域资源共享 (CORS) 是一种基于HTTP头的机制,允许服务器标示除了它自己以外的其他源(域、协议或端口),浏览器应该允许从这些源加载资源。

常见响应头

  • Access-Control-Allow-Origin - 指定允许的源
  • Access-Control-Allow-Methods - 允许的HTTP方法
  • Access-Control-Allow-Headers - 允许的请求头
  • Access-Control-Allow-Credentials - 是否允许凭证
  • Access-Control-Max-Age - 预检请求缓存时间

简单请求 vs 预检请求

简单请求:GET、HEAD、或POST方法,且只允许某些Content-Type

预检请求:先发送OPTIONS请求检查权限,再发送实际请求

常见 CORS 错误及解决方法

No 'Access-Control-Allow-Origin' header

服务器未返回允许的源

解决:在服务器响应中添加 Access-Control-Allow-Origin 头

CORS policy: Origin is not allowed

请求的源不在允许列表中

解决:将你的域名添加到允许的源列表

Credentials flag is true

使用凭证但未配置

解决:设置 Access-Control-Allow-Credentials: true 并指定具体源

Method is not allowed

请求的方法不在允许列表中

解决:添加方法到 Access-Control-Allow-Methods

© 2026 星贝工具