Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 瀏覽器 HTTPS 頁面阻擋 HTTP 混合內容警報:CSP upgrade-insecure-requests 部署指南

編輯:關於 Linux

HTTPS 頁面載入 HTTP 資源 (圖片、iframe、腳本) 會觸發瀏覽器「混合內容」警告或直接阻擋。W3C upgrade-insecure-requests CSP 指令可指示瀏覽器自動將頁面內所有 HTTP 請求升級為 HTTPS,零代碼修改即時生效。

混合內容警報

Chrome DevTools 網路面板

雙重請求現象

部署方式一:HTTP 回應標頭 (推薦,Nginx/Apache/CDN)


# Nginx
add_header Content-Security-Policy "upgrade-insecure-requests";

# Apache
Header always set Content-Security-Policy "upgrade-insecure-requests"

部署方式二:HTML Meta 標籤 (無法控制 Server 時)



效果驗證

  • 頁面為 HTTPS,內含 <img src="https://example.com/img.jpg">。
  • 開啟 DevTools Network 面板,該請求顯示 Scheme: https、Status: 200 (或 301/302 導向 HTTPS)。
  • Console 無混合內容警告。

注意事項

  • 不影響外部連結:<a href="https://..."> 仍保持 HTTP,使用者點擊才導向。
  • 雙重請求 Bug:Chrome 早期版本會先發 HTTP 再重導 HTTPS,現代版本已修復。
  • 瀏覽器支援:Chrome 43+、Firefox 42+、Edge 14+、Safari 10.1+。IE 不支援。
  • 資源必須支援 HTTPS:若目標伺服器無 TLS 憑證,升級後將失敗 (顯示斷裂圖示)。

遷移策略

  1. 掃描站內所有 HTTP 資源連結。
  2. 確認對應 HTTPS 端點可用 (CDN、對象儲存、第三方服務)。
  3. 部署 CSP 標頭,啟用報告模式 Content-Security-Policy-Report-Only 觀察違規報告。
  4. 確認無誤後切換強制模式。

單一標頭即可解決歷史 HTTP 資源遷移痛點,是 HTTPS 全站化的關鍵加速器。

Copyright © Windows教程網 All Rights Reserved