Press⌘+Kto search
IP: 获取中...
为效率而生, Just tools.goodssoft.com
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