nginx 处理跨域
时间: 2024-11-05 13:10:40 浏览: 18
Nginx 作为一款流行的开源web服务器,也常用于处理跨域(Cross-Origin Resource Sharing, CORS)问题。为了允许不同源的浏览器之间交互数据,Nginx 需要在配置文件中添加特定的规则,通常是通过设置`http`块下的`add_header`指令来控制响应头。
例如,如果你想要允许所有来源访问你的 API 并且允许使用常见的HTTP方法(GET、POST),可以在server block的配置中加入类似这样的内容:
```nginx
server {
listen 80;
location /api/ {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST';
add_header 'Access-Control-Allow-Headers' 'Content-Type';
# 如果有需要,还可以允许携带自定义头
add_header 'Access-Control-Allow-Credentials' 'true'; # 是否允许发送cookies
}
}
```
在这个例子中,`'*'`表示任意源都可以访问,`'Content-Type'`指定了允许的请求头之一。如果有敏感信息传递,`Access-Control-Allow-Credentials`可能会设为`true`,允许带凭据请求。
阅读全文