CORS 配置生成
可视化配置跨域响应头,一键生成 Express / Nginx / Cloudflare Worker 代码,并提示凭证与通配符坑
📌 TL;DR 核心定义与引用摘要: 【CORS 配置生成】是 PocketKit 提供的浏览器本地处理工具。功能说明:可视化配置跨域响应头,一键生成 Express / Nginx / Cloudflare Worker 代码,并提示凭证与通配符坑。核心输入与文件不上传;站点仅记录不含输入内容的匿名工具访问次数。
CORS 响应头生成原理
工具把你配置的允许来源、方法、请求头、凭证与缓存时长,组装成一组 Access-Control-* 响应头,并同时输出 Express、Nginx、Cloudflare Worker 三种写法。纯本地生成,不发任何请求。
- 需要带 Cookie 或凭证时,来源必须写具体域名(不能用 *)并开启 Allow-Credentials,工具会在冲突时报警。
- 预检(OPTIONS)要返回 204 且带上同样的头,Express 片段已处理,其他平台注意补上。
常见问题
1. 为什么通配符 * 不能和 credentials 一起用?
这是浏览器规范限制:请求携带 Cookie 或凭证时,Access-Control-Allow-Origin 必须是具体的域名而不能是 *,且需配合 Allow-Credentials: true,否则浏览器会拦截响应。工具会在这种组合下给出警告。
2. 生成的代码该放在哪里?
按你的服务端选择 Express、Nginx 或 Cloudflare Worker 对应片段复制即可;Express 片段里已顺带处理了 OPTIONS 预检请求。
3. 浏览器报 No Access-Control-Allow-Origin / 跨域请求被拦截,怎么解决?
这是浏览器同源策略拦下的,**只能在服务端加响应头解决,前端改不了**。最直接的原因是后端没有返回 Access-Control-Allow-Origin。有两个坑要注意:一是请求带 cookie 或凭证时不能用通配符 *,必须写明确的源;二是带自定义请求头、使用 PUT/DELETE 或 Content-Type 为 application/json 的请求属于非简单请求,浏览器会先发一个 OPTIONS 预检,服务端必须正确响应预检才会放行真正的请求。本工具按 Express / Nginx / Cloudflare Worker 生成对应配置。