Nginx安装和部署就不提了。
sever配置proxy_pass只能解决转发的问题,如果转发不带header配置的话前端的预检请求容易出现
Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response的问题,不过使用postman或直接访问的话是可以正常请求到数据的。
所以这里需要在Nginx配置里补充一下
以下是详细配置
location /api/ {
proxy_pass http://代理地址/; # 将地址代理到api上
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
}
由于开发时经常配到此类跨域问题,故做此记录,如果还是出现跨域问题,则注意下请求头。