nginx怎么设置Access-Control-Allow-Credentials: true,
时间: 2024-07-02 20:00:24 浏览: 160
Nginx跨域设置Access-Control-Allow-Origin无效的解决办法
在Nginx中,`Access-Control-Allow-Credentials: true` 是一个HTTP头部字段,用于指示响应是否可以包含敏感信息,如cookies,当跨源请求(CORS)发送一个带有身份凭证(例如cookie或Authorization头)时。要设置这个字段,你需要在处理跨域请求的location块中添加以下配置:
```nginx
server {
# 示例域名
location /api {
add_header 'Access-Control-Allow-Origin' '<your-origin>';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization';
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Max-Age' 1728000; # 响应预检请求的有效期,单位秒
add_header 'Content-Length' 0;
return 204;
}
}
}
```
在这里,`<your-origin>` 需要替换为你的实际跨域源,例如 `http://example.com` 或者 `*` 表示任何源(不推荐)。`Access-Control-Allow-Methods` 和 `Access-Control-Allow-Headers` 可以根据你的需求定制。
阅读全文