做網站的過程裡,很多客戶都會要求在頁面中放入 iframe,來嵌入外部系統、表單、地圖或影音內容。這個需求並不罕見,但真正麻煩的是:有些客戶提供的 iframe 網址並沒有安裝 SSL 憑證 (HTTPS)。對工程師來說,即使主網站本身早已完成 SSL 設定,只要 iframe 來源不是 HTTPS,瀏覽器就會判定存在安全風險,直接封鎖。最嚴重的情況下,整個頁面會跳出「這個網站無法提供安全連線」,讓網站根本打不開。

iframe 的混合內容問題
混合內容 (Mixed Content) 指的是一個網站雖然已經使用了 HTTPS,但頁面中卻嵌入了 沒有 HTTPS 的外部資源。其中最容易出現、也是最嚴重的情況,就是 iframe。因為 iframe 扮演的是「把另一個網站整個搬進來」的角色,一旦來源沒有 SSL 憑證,就等於把一個不安全的網站硬塞進安全的環境裡。
瀏覽器在這種情況下,會直接判定安全性不足。與其讓使用者冒風險載入這個不安全的 iframe,瀏覽器會選擇 完全封鎖,最後整個頁面都可能跳出「這個網站無法提供安全連線」,導致網站徹底無法被瀏覽。
為什麼瀏覽器要封鎖 iframe?
從瀏覽器與 Google 的角度來看,HTTPS 不只是加密傳輸這麼單純,它更代表著一種「信任」標記。如果一個網頁本身是安全的,但卻嵌入了來路不明、沒有 SSL 的 iframe,那麼整體的安全性就被破壞了。駭客可以藉此竊聽資料、竄改內容,甚至透過 iframe 植入惡意程式碼。
基於這些風險,Google 在 Chrome 瀏覽器上,已經明確表示會全面阻擋不安全的 iframe。Safari 與 Firefox 也有類似政策,因為這不只是網站本身的問題,更關係到使用者的隱私與資安。
對工程師來說,這代表即使網站主體有 HTTPS,只要有一個不安全的 iframe,整個頁面就可能被封鎖,導致「這個網站無法提供安全連線」的錯誤訊息出現。
❌ 常見 iframe 錯誤範例
錯誤 1:沒有 http/https,瀏覽器會把它當成「相對路徑」
在 https
頁面上,這會被解讀成:
https://你的網域/www.camera-vendor.com/liveview
→ 404 或載入失敗
<iframe src="www.camera-vendor.com/liveview" width="800" height="450" style="border:0;" title="Live View (WRONG)" ></iframe>
錯誤 2:在 HTTPS 網站上嵌入 HTTP → 混合內容被瀏覽器封鎖
典型 Console 訊息:
Mixed Content: The page at 'https://...' was loaded over HTTPS, but requested an insecure frame 'http://...'. This request has been blocked.
<iframe src="http://camera-vendor.com/liveview" width="800" height="450" style="border:0;" title="Live View (MIXED CONTENT - WRONG)" ></iframe>
✅ 正確 iframe 寫法
使用完整的 HTTPS 絕對網址,避免相對路徑與混合內容。這樣可確保瀏覽器安全性與跨平台相容性。
<iframe src="https://camera-vendor.com/liveview" width="800" height="450" style="border:0;" loading="lazy" referrerpolicy="no-referrer-when-downgrade" title="Live View (OK)" ></iframe>
對 SEO 與用戶體驗的影響
iframe
沒有 SSL 而被瀏覽器封鎖時,問題不只是「畫面無法顯示」這麼簡單。對使用者來說,點進網站卻只看到「這個網站無法提供安全連線」,會直接失去信任感,轉身離開。
這代表 跳出率大幅增加、停留時間下降,而這些行為數據會被 Google 視為負面訊號,間接影響 SEO 排名。
此外,Google 搜尋引擎在爬取網站時,也會檢測安全性。如果頁面存在混合內容,Google 可能會在 Search Console 中發出警告,甚至降低該頁面的收錄與權重。對企業來說,不僅品牌專業形象受損,還可能因此失去寶貴的自然流量與轉換機會。
工程師的解決方案與真實案例
在專案執行中,如果遇到 iframe 沒有 SSL 的情況,工程師能做的選項其實不多,最實際的方法只有兩種:
🔧 常見解決辦法
-
・要求來源網站啟用 SSL 憑證:
這是最理想的解法,因為能從根本上解決安全問題,確保嵌入的內容與主網站一樣安全。 -
・與客戶溝通需求,尋找替代方案:
如果來源系統真的無法支援 SSL(例如某些老舊的監視器系統版本),那麼就必須讓客戶理解風險,並考慮改用其他方式處理。
我們實務上的做法,是另外建立一個獨立網站,專門放置這些不支援 SSL 的內容,再透過外部連結方式提供給需要的使用者。
雖然這樣會犧牲整合度,但至少能確保主要網站維持完整的安全性與正常運作。
我的行動建議
對工程師來說,iframe 沒有 SSL 的問題看似只是「一段程式碼不能用」,但實際上卻會讓整個網站完全無法開啟,嚴重影響用戶體驗與 SEO。最安全的解法,永遠是 要求外部來源安裝 SSL,確保所有嵌入內容都能透過加密連線傳輸。
然而,若遇到像老舊監視器系統這樣的特殊案例,工程師就必須與客戶充分溝通,讓對方理解限制,並採取折衷方案,例如另外架設獨立網站再透過外部連結方式存取。這雖然不是最完美的方式,但至少能維持主網站的穩定與安全。
🔒 技術困境別擔心
👉 如果你也遇到類似的技術困境,無論是 HTTPS、iframe,或是其他前端整合問題,都可以和我們聊聊。
我們能協助你在兼顧安全的前提下,找到最適合的解決方案。