nginx配置跨域请求
时间: 2024-08-22 11:02:05 浏览: 50
Nginx是一个强大的Web服务器和反向代理,它常用于处理HTTP请求并提供CORS(跨源资源共享)支持来解决浏览器对跨域访问的限制。在Nginx配置文件中,通过`add_header`指令添加允许来自特定来源的CORS头信息。以下是基本的跨域配置示例:
```nginx
location /api {
# 设置响应头允许所有来源访问
add_header Access-Control-Allow-Origin *;
# 允许特定方法(GET, POST等)
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
# 允许携带的数据类型(JSON、XML等)
add_header Access-Control-Allow-Headers 'Content-Type';
# 对于预检请求(OPTIONS),直接返回204 No Content
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Credentials' 'true'; # 如果需要发送凭证,如cookie
add_header 'Access-Control-Max-Age' 1728000; # 预检请求有效期,单位秒
return 204;
}
}
```
这个配置适用于/api路径下的资源。如果你想指定特定的源(比如只允许来自'http://example.com'),可以替换`*`为具体的域名。
阅读全文