踩坑一、在vue+node開發的時候,出現跨域問題,html
第一步:這時候使用nginix作反向代理,解決跨域,設置以下vue
首先打開(E:\ruanjian\nginx-1.14.2\conf)中的 nginx.conf,進行以下設置node
第二步:安裝 koa2-cors 插件,在app.js裏面進行以下設置ios
const cors = require('koa2-cors') // 解決跨域 app.use(cors({ exposeHeaders: ['WWW-Authenticate', 'Server-Authorization', 'Date'], maxAge: 100000, credentials: true, allowMethods: ['GET', 'POST', 'OPTIONS'], allowHeaders: ['Content-Type', 'Authorization', 'Accept', 'X-Custom-Header', 'anonymous','Set-Cookie'], }))
踩坑2:當有session時,設置axios請求時攜帶cookie失效nginx
解決爲設置 axios
axios.defaults.withCredentials = true; //配置爲true
理由以下:後端
withCredentials:默認狀況下,跨源請求不提供憑據(cookie、HTTP認證及客戶端SSL證實等)。經過將withCredentials屬性設置爲true,能夠指定某個請求應該發送憑據。跨域
當配置了 withCredentials = true
時,必須在後端增長 response 頭信息Access-Control-Allow-Origin,且必須指定域名,而不能指定爲*!!!cookie
參考以下: http://www.manongjc.com/article/36042.htmlsession