nginx 配置跨域
时间: 2024-06-02 11:05:33 浏览: 132
Nginx 是一款高性能的 Web 服务器和反向代理服务器,它也可以用来配置跨域。跨域是指在一个域名下的文档或脚本试图去请求另一个域名下的资源,这里的域名可以是不同的二级域名或者不同的根域名。跨域请求是受到浏览器的同源策略限制的,为了解决跨域问题,我们可以在 Nginx 中配置反向代理实现跨域。
以下是一个简单的 Nginx 配置实现跨域:
```
location /api {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since';
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_pass http://backend_server;
}
```
这个配置中,`add_header` 设置了允许跨域请求的头信息,`proxy_pass` 指定了后端服务器地址。其中,`Access-Control-Allow-Origin` 允许跨域请求的源地址,设置为 `*` 表示允许任何来源。`Access-Control-Allow-Methods` 允许跨域请求的方法,例如 GET、POST、OPTIONS 等。`Access-Control-Allow-Headers` 允许跨域请求的头信息。
如果请求方法是 OPTIONS,我们返回状态码 204,表示预检请求成功,否则就转发请求到后端服务器。
阅读全文