發(fā)生過(guò)程:
功能開(kāi)發(fā)完成之后打包發(fā)到線上發(fā)現(xiàn)頁(yè)面打不開(kāi),于是看了網(wǎng)站上的報(bào)錯(cuò),

圖1.png

圖2.png
主要是出現(xiàn)上圖1和圖2的問(wèn)題,當(dāng)時(shí)在想為什么會(huì)重定向成https.
經(jīng)過(guò)不停的查找,終于發(fā)現(xiàn)是index.html里面的一行代碼導(dǎo)致的,代碼如下:

image.png
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">的作用解釋:該標(biāo)簽是一個(gè)HTTP頭部等價(jià)物,用于在HTML文檔中指定內(nèi)容安全策略(CSP),
upgrade-insecure-requests指令的作用是自動(dòng)將頁(yè)面上的所有不安全請(qǐng)求(如HTTP請(qǐng)求)升級(jí)為安全請(qǐng)求(HTTPS請(qǐng)求),這有助于增強(qiáng)網(wǎng)站的安全性,防止中間人攻擊和數(shù)據(jù)泄露需要注意的是,正確的HTTP頭部字段應(yīng)該是
Content-Security-Policy,而不是在<meta>標(biāo)簽中使用的http-equiv屬性。但在<meta>標(biāo)簽的上下文中,使用http-equiv來(lái)模擬HTTP頭部是一種常見(jiàn)的做法。然而,對(duì)于CSP來(lái)說(shuō),最佳實(shí)踐是通過(guò)HTTP響應(yīng)頭來(lái)設(shè)置,因?yàn)椴⒎撬袨g覽器都支持在<meta>標(biāo)簽中設(shè)置CSP,所以最佳實(shí)踐是服務(wù)器配置來(lái)設(shè)置CSP頭部,而不是在HTML中。如果你使用的是Vue CLI構(gòu)建的項(xiàng)目,并且部署在支持自定義HTTP頭部的服務(wù)器上(如Nginx、Apache等),你應(yīng)該在服務(wù)器配置中添加CSP頭部
對(duì)Vue項(xiàng)目安全性帶來(lái)的具體影響:
引入upgrade-insecure-requests指令后,Vue項(xiàng)目中的所有不安全請(qǐng)求都將被自動(dòng)升級(jí)為安全請(qǐng)求。這有助于防止敏感數(shù)據(jù)在傳輸過(guò)程中被截獲或篡改,從而提高項(xiàng)目的安全性。然而,這并不能替代其他安全措施,如使用HTTPS、驗(yàn)證輸入、防止跨站腳本攻擊(XSS)等。
下面是一個(gè)在Nginx中設(shè)置CSP頭部的示例:
server {
listen 80;
server_name example.com;
location / {
# 其他配置...
# 設(shè)置CSP頭部
add_header Content-Security-Policy "upgrade-insecure-requests";
}
# 其他配置...
}