nginx转发https网页加载http图片乱码问题
原因一:
在一個(gè)https的網(wǎng)站中,如果加載了http圖片資源,瀏覽器將認(rèn)為這是不安全的圖片資源,將會(huì)默認(rèn)阻止,導(dǎo)致圖片是不加載的,同樣的css資源、js資源也是一樣不加載的。
解決方案:
- 網(wǎng)頁使用https情況下需要全站代碼都支持https://。
- 如果網(wǎng)站存在圖片、js、css、mp4、mp3等任何外來的http數(shù)據(jù)網(wǎng)頁會(huì)提示不安全。
- 將外聯(lián)或本地源碼都改成https,外聯(lián)資源不支持https的下載到本地網(wǎng)頁調(diào)用。
原因二:X-Content-Type-Options
互聯(lián)網(wǎng)上的資源有各種類型,通常瀏覽器會(huì)根據(jù)響應(yīng)頭的Content-Type字段來分辨它們的類型。例如:"text/html"代表html文檔,"image/png"是PNG圖片,"text/css"是CSS樣式文檔。然而,有些資源的Content-Type是錯(cuò)的或者未定義。這時(shí),某些瀏覽器會(huì)啟用MIME-sniffing來猜測(cè)該資源的類型,解析內(nèi)容并執(zhí)行。
例如,我們即使給一個(gè)html文檔指定Content-Type為"text/plain",在IE8-中這個(gè)文檔依然會(huì)被當(dāng)做html來解析。利用瀏覽器的這個(gè)特性,攻擊者甚至可以讓原本應(yīng)該解析為圖片的請(qǐng)求被解析為JavaScript。
通過下面這個(gè)響應(yīng)頭可以禁用瀏覽器的類型猜測(cè)行為
X-Content-Type-Options "nosniff";通過設(shè)置"X-Content-Type-Options: nosniff"響應(yīng)標(biāo)頭,對(duì) script 和 styleSheet
在執(zhí)行是通過MIME 類型來過濾掉不安全的文件
但這會(huì)導(dǎo)致圖片亂碼
解決方案:響應(yīng)頭加上(在nginx中配置)
Content-Type:image/png總結(jié)
以上是生活随笔為你收集整理的nginx转发https网页加载http图片乱码问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【单片机毕业设计】【mcuclub-jj
- 下一篇: 阿里巴巴IconFont的图标的下载使用