nginx如何解决跨域
时间: 2023-09-12 20:10:49 浏览: 79
Nginx可以通过添加HTTP响应头来解决跨域问题。具体来说,可以使用Nginx的add_header指令在HTTP响应头中添加Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Allow-Headers等字段,来允许跨域请求。
以下是一个示例配置文件:
```
server {
listen 80;
server_name example.com;
location /api/ {
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';
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_pass http://localhost:8080/;
}
}
```
上述示例中,如果请求方法为OPTIONS,则直接返回204,否则将请求转发给后端服务器。同时,也添加了Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Allow-Headers等响应头字段,来允许跨域请求。
阅读全文