在 Nginx 上进行跨域配置可以通过添加相应的响应头来实现。下面是一个示例配置,将 Access-Control-Allow-Origin 设置为允许的域名或通配符 *:
server {
# 其他配置...
location / {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization';
# 其他处理请求的指令...
}
}
这个配置会将 Access-Control-Allow-Origin 设置为允许所有来源 (*),如果你需要限制只允许特定的域名,可以将 '*' 替换为对应的域名。
另外,请确保在真正处理请求之前,添加了 OPTIONS 请求方法的处理逻辑,并返回带有相关响应头信息的空白响应(如上述配置中的 return 204)。这是为了处理预检请求(Preflight Request)。
在实际配置时,请根据你的项目需求和安全考虑,进行适当的调整。
内容由零声教学AI助手提供,问题来源于学员提问




