勾选来源、方法和请求头,一键生成 Access-Control-* 响应头,纯列表 / Nginx / Apache / Express 四种格式
- 本地处理
- 分类 开发运维
- 适合 格式化、校验、压缩或检查和代码相关的文本。
Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET, POST, OPTIONS Access-Control-Allow-Headers: Content-Type Access-Control-Max-Age: 86400
这个工具能做什么
免费的 CORS 响应头生成器,把几个勾选项变成浏览器放行跨域请求所需的 那一组 Access-Control-* 响应头。先选 Access-Control-Allow-Origin (通配 * 或指定的一个 scheme://host:port),勾上你实际提供的方法 (GET、POST、PUT、DELETE、PATCH、OPTIONS),挑出你接受的请求头 (Content-Type、Authorization、X-Requested-With 以及你自己的自定义头), 再决定是否允许携带 Cookie 的凭证请求。工具会标出浏览器一定会拒绝的那种 组合:Allow-Credentials 为 true 同时 Allow-Origin 配成 *。它还能写出 Access-Control-Max-Age 来缓存预检,以及 Access-Control-Expose-Headers 让前端 JavaScript 能读到像 X-Total-Count 这样的响应头。结果给出四种 可直接粘贴的格式:纯响应头列表、Nginx add_header 块、Apache Header set 块,以及 Express 中间件片段。全部在浏览器本地运行,任何内容都不外传。
工具细节
- 输入
- 文本 + 数值
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制 + 预览
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 9 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 开发运维 · 程序员
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
CORS 响应头生成器 适合怎么用
适合穿插在写代码、查问题、做 Review、上线前的小任务里。
适合开发场景
- 格式化、校验、压缩或检查和代码相关的文本。
- 把片段整理好再放进文档、工单、提交或交接材料。
- 不切换工具,快速检查一个小 payload。
开发检查项
- 压缩、混淆这类不可逆处理,先对副本操作。
- 除非确认工具本地处理,不要粘贴密钥和敏感片段。
- 转换后的代码上线前,仍要跑自己的测试或 lint。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
让前端 SPA 调用另一个域名上的 API
你部署在 https://app.example.com 的 React 应用去调 https://api.example.com 的接口,控制台报出经典的被 CORS 策略拦截的 错误。把 Access-Control-Allow-Origin 设成你的应用来源,勾上 GET、POST、PUT、DELETE,在允许的请求头里加上 Content-Type 和 Authorization,打开凭证让会话 Cookie 一起带上,再把生成的块粘进 Nginx。预检通过,fetch 终于拿回数据而不是报错。
把一个公开只读数据接口开放给所有人
你发布一个任何人都能在浏览器里读取的免费 JSON 接口(不带 Cookie、 不需鉴权)。来源选 *,方法只留 GET 和 OPTIONS。工具会让凭证保持 关闭,通配 * 才合法,你拿到一行 Nginx add_header 或一段 Express cors() 片段,任何客户端都能直接访问,而你不用维护来源白名单。
修好 PUT 或 DELETE 请求失败的预检
普通 GET 本来好好的,一换成带 Authorization 的 PUT,请求还没离开 浏览器就失败了,这就是预检。把 PUT 加进方法、把 Authorization 加进 请求头,设一个 Max-Age 让浏览器缓存一天,把 Apache Header set 块 复制进虚拟主机配置,OPTIONS 预检就会返回浏览器一直在等的那份许可。
把分页响应头暴露给前端 JavaScript
你的接口返回 X-Total-Count 让前端渲染页码,但 response.headers.get('X-Total-Count') 一直返回 null。把它加进 Expose-Headers,重新生成,粘上 Express 中间件。浏览器不再把这个头 藏起来,分页组件就能直接从响应里读到总数。
常见踩坑
把 Allow-Origin * 和 Allow-Credentials true 配在一起。浏览器会直接拒绝这种组合,请求以通配符不被允许的错误失败。需要 Cookie 时,要回显一个经白名单校验过的具体来源,而不是通配符。
忘了放行 OPTIONS 或自定义请求头。带 Authorization 的 PUT 会触发预检;如果没处理 OPTIONS,或者 Allow-Headers 里缺了 Authorization,即便 GET 一切正常,真正的请求也发不出去。
Nginx add_header 漏掉 always 标志。少了它,CORS 头只在 2xx 响应上发,4xx 和 5xx 不发,于是浏览器连错误响应体都不让页面读,排查问题会难上很多。
隐私说明
每一个响应头都在你的浏览器标签页里用纯 JavaScript 拼出来。你填的来源、 方法、自定义请求头和生成的代码片段都不离开页面,也不做任何记录。唯一要 注意的是:你的选项会编码进可分享的 URL 查询字符串,所以把链接粘到聊天里 时,对方服务器的访问日志会留下这些选项。涉及不想公开的内部来源,请用复制 按钮粘贴文本,而不是分享网址。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。