CORS配置生成器

在线 CORS 配置生成器,选择允许的来源、方法、请求头和凭证,生成 Nginx、Apache、PHP、Node.js 的跨域头配置,附预检说明。

功能说明

本工具用于生成跨域资源共享(CORS)的服务器配置代码。您可以通过勾选和填写,快速生成 Nginx、Apache、PHP 以及 Node/Express 四种常见环境的配置片段,直接复制到您的服务器或代码中使用。

使用方法

点击“生成配置”后,下方会显示四种环境的配置代码,您可以直接复制使用。

计算原理

CORS 是浏览器的一种安全机制,用于控制跨域请求。服务器通过响应头告知浏览器允许哪些来源、方法、请求头等。本工具根据您的选择,生成对应的响应头配置:

配置项对应响应头
允许来源Access-Control-Allow-Origin
允许方法Access-Control-Allow-Methods
允许请求头Access-Control-Allow-Headers
允许凭证Access-Control-Allow-Credentials
缓存时间Access-Control-Max-Age

不同服务器(Nginx、Apache、PHP、Node/Express)设置响应头的语法不同,本工具已为您转换为对应格式。

注意事项

为什么我勾选了“允许凭证”后,生成的 Nginx 配置中 Allow-Origin 还是 *?

当勾选“允许凭证”时,工具会自动将来源设置为指定域名(如果未指定,则使用第一个域名)。但如果您同时勾选了“所有来源”,工具会优先使用 *,这会导致浏览器报错。建议在需要凭证时,取消“所有来源”,并填写具体的域名。

我输入了多个域名,为什么生成的配置只显示第一个?

因为 Nginx、Apache 等服务器原生不支持直接设置多个 Allow-Origin 值,需要借助 map 或 if 等模块实现。本工具为了简洁,默认只使用第一个域名作为示例。您可以根据服务器文档自行扩展,例如 Nginx 的 map 模块。

生成的 PHP 配置可以直接用在 WordPress 或 Laravel 中吗?

可以,但需要注意放置位置。在 WordPress 中,可以放在主题的 functions.php 或插件中;在 Laravel 中,可以放在中间件里。请确保这些 header 函数在输出任何内容之前执行。

缓存时间设置多大合适?

缓存时间(Access-Control-Max-Age)表示预检请求结果的缓存秒数。一般建议 3600(1小时)到 86400(24小时)。如果您的接口经常变动,可以设小一些;如果稳定,可以设大一些以减少预检请求。