現(xiàn)象
在項(xiàng)目中,因?yàn)榭缬蜿P(guān)系,前端需要設(shè)置 axios.defaults.withCredentials = true
荡陷,這樣才能進(jìn)行跨域操作。
但是設(shè)置了之后也依舊報(bào)錯(cuò)迅涮。
原因
chrome在2020年3月份升級(jí)了安全策略废赞,對于跨域請求如果想寫入cookie,必須是https的網(wǎng)站才可以叮姑。對于http的網(wǎng)站唉地,cookie寫入總是失敗据悔。
解決
配置 webpack-dev-server,在開發(fā)時(shí)使用https的鏈接耘沼。以下是操作說明:
-
第一步
修改build/webpack.dev.conf 文件极颓,在devServer里添加https: true, 如下圖:
-
第二步
執(zhí)行 npm start, 瀏覽器輸入 https://localhost:8080 群嗤。注意是https菠隆, 不是 http。
此時(shí)并不能打開頁面狂秘,而是顯示如下
解決:就是在當(dāng)前頁面用鍵盤輸入 thisisunsafe 骇径,不是在地址欄輸入,就直接敲鍵盤就行了者春,頁面即會(huì)自動(dòng)刷新進(jìn)入網(wǎng)頁破衔。
因?yàn)镃hrome不信任這些自簽名ssl證書,為了安全起見钱烟,直接禁止訪問了晰筛,thisisunsafe 這個(gè)命令,說明你已經(jīng)了解并確認(rèn)這是個(gè)不安全的網(wǎng)站拴袭,你仍要訪問就給你訪問了读第。