已复制到剪贴板!

CORS Generator

可视化配置跨域资源共享策略,实时生成主流后端服务器与框架的配置代码。

💡 提示:为了安全,建议明确指定域名,避免直接使用 *。

GET
POST
PUT
DELETE
OPTIONS
PATCH
允许凭据 (Access-Control-Allow-Credentials)

开启后允许浏览器发送 Cookie、HTTP 认证信息等。

Google AdSense 横幅展示位

什么是 CORS?为什么它会让前端开发者头疼?

跨域资源共享(Cross-Origin Resource Sharing,简称 CORS)是一种基于 HTTP 头部的机制,它允许服务器标识除了它自己以外的其它域(origin),浏览器应允许这些域访问加载自己的资源。出于安全考虑,浏览器默认会限制从脚本内发起的跨源 HTTP 请求(同源策略)。

常见的 CORS 报错场景

当您在前端通过 fetch()axios 调用不同域名、端口或协议的接口时,如果后端没有正确配置 CORS,浏览器就会抛出著名的 CORS error 。这并不是接口挂了,而是浏览器为了保护用户隐私,拦截了请求的响应内容。

核心指令解析

  • Access-Control-Allow-Origin: 核心指令。指定哪些域名可以跨域访问。使用通配符 * 虽然方便,但在涉及凭据(Credentials)时是非法的。
  • Access-Control-Allow-Methods: 指定跨域请求允许使用的 HTTP 方法。
  • Access-Control-Allow-Headers: 如果您的请求包含非“简单头部”(如 AuthorizationContent-Type: application/json ),则必须在此明确列出。
  • Access-Control-Max-Age: 告诉浏览器可以将预检请求(OPTIONS)的结果缓存多久,减少重复的预检开销。

解决“OPTIONS 预检请求”带来的性能损耗

对于非简单请求,浏览器会先发送一个 OPTIONS 探测请求。通过设置合理的 Access-Control-Max-Age ,您可以显著提升前后端交互的流畅度,避免每个主请求前都多出一次往返耗时。

为什么不建议在生产环境使用通配符 * ?

使用 Access-Control-Allow-Origin: * 意味着世界上任何网站都可以通过脚本请求您的 API。如果您的接口包含用户敏感数据或需要身份验证,这会带来极大的 CSRF 风险。专业的做法是根据请求头的 Origin 动态判断,或在配置文件中明确列出受信任的域名。

使用我们的生成器,您可以快速获得针对 Nginx、Apache 或 Express 等流行环境的工业级配置模板,彻底告别“跨域 502”或“OPTIONS 405”的烦恼。