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