SSL 不是裝完就結束。對大部分站長來說,真正麻煩的是裝好後網站還是跳不安全、圖片混合內容、或 http / https 一直互相轉來轉去。這篇會把這整條鏈路講清楚。
你如果不想每次都只是照著別人的畫面一步一步跟著按,卻不知道自己到底改了什麼,這篇會比較適合你。重點不是讓你背流程,而是讓你下次遇到類似情況時,還知道該怎麼自己判斷。
你會學到什麼
- 知道 cPanel 中 SSL 啟用完整流程不只是一鍵簽發。
- 理解 AutoSSL 與手動設定憑證的差別與適用情境。
- 完整排查 mixed content 問題,讓鎖頭不再忽有忽無。
- 遇到 HTTPS 問題時知道要從哪一層開始查。
什麼情況最適合先看這篇
- 剛接手虛擬主機、想自己把網站日常維護做好的人
- 你現在正要處理「cPanel SSL 憑證設定」這類操作
- 你希望做完之後不只功能能用,連驗證與排錯也有概念
開始前先確認
- 先確認網域已正確指向主機(A 記錄指向主機 IP)。
- 如果站內有舊的 HTTP 連結,先預期可能需要一起處理。
- 確認你要使用的是 AutoSSL 還是外部購買憑證。
先提醒你一件事
cPanel 很多功能都和網域、目錄、Email、憑證綁在一起,設定前先確認你改的是哪個站。
SSL 從簽發到生效的完整流程
很多人以為 SSL 就是「按一下就好」,但實際上它有好幾個階段,任何一層卡住都會造成問題。
詳細教學與操作步驟
為什麼你的網站需要 SSL 憑證?
SSL(Secure Sockets Layer)憑證會在訪客的瀏覽器與你的伺服器之間建立加密通道。這不僅能保護資料傳輸(如密碼或刷卡資訊),還能讓瀏覽器顯示「安全」鎖頭標誌,避免訪客看到「連線不安全」的警告。
SSL 對你的實際影響:
- SEO 排名: Google 從 2014 年起將 HTTPS 列為排名因素。
- 訪客信任: Chrome 會對 HTTP 網站標示「不安全」,訪客看到會直接離開。
- 資料安全: 表單、登入、結帳資訊在傳輸過程中被加密保護。
- 法規合規: 許多產業法規要求網站必須加密傳輸。
在侃瑞科技,我們提供 SSL 全程代管服務,確保你的網站始終保持安全狀態。
AutoSSL 的運作原理
cPanel 的 AutoSSL 會自動為你的網域簽發免費的 DV(Domain Validation)憑證。了解它的運作方式,能幫你判斷卡住時該從哪裡查。
AutoSSL 簽發流程:
- cPanel 偵測到新網域被加入帳號。
- 系統嘗試透過 HTTP 驗證確認你有這個網域的控制權(在你的網站根目錄放一個驗證檔案)。
- 驗證通過後,向憑證授權機構(CA)請求簽發。
- 憑證簽發完成,自動部署到你的網域。
- 憑證到期前會自動續約(通常是 90 天週期)。
AutoSSL 自動觸發時機:
- 新網域加入帳號後的 24 小時內
- 既有憑證到期前 30 天
- 你手動點擊「Run AutoSSL」
步驟一:進入 SSL/TLS 狀態管理
登入 cPanel 後,在「安全性 (Security)」區塊中點選「SSL/TLS 狀態 (SSL/TLS Status)」。在這裡你可以看到所有網域與子網域目前的憑證狀態。
- 綠色鎖頭: 代表憑證已生效且正常。
- 紅色鎖頭: 代表憑證已過期或尚未簽發。
- 黃色鎖頭: 代表憑證即將到期。
步驟二:執行 AutoSSL 自動簽發
cPanel 提供 AutoSSL 功能,通常在網域指向主機後的 24 小時內會自動簽發。如果你急需啟用,可以手動觸發:
- 在 SSL/TLS 狀態頁面中,勾選你想要啟用的網域。
- 點選頁面上方的「Run AutoSSL」按鈕。
- 系統會開始驗證網域權限並向憑證授權單位請求簽發。
- 等待幾分鐘後重新整理頁面,確認狀態變為綠色。
步驟三:強制將 HTTP 轉址到 HTTPS
憑證生效後,你需要確保訪客無論輸入什麼網址都會導向加密版本。
方法一:cPanel 內建設定(推薦)
- 回到 cPanel 首頁,點選「網域 (Domains)」。
- 找到你的網域,將「Force HTTPS Redirect」選項切換為「On」。
方法二:.htaccess 手動設定
如果 cPanel 的 Force HTTPS 開關沒有作用(少數情況),你可以手動在 .htaccess 加入轉址規則:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
注意: 把這段加在 .htaccess 檔案的最上方(RewriteEngine On 之後、其他規則之前)。如果你用 WordPress,放在 # BEGIN WordPress 之前。
方法三:WordPress 內部設定
如果你是 WordPress 站,除了主機層的轉址,還要確認 WordPress 本身的設定:
- 登入 WordPress 後台。
- 前往「設定」→「一般」。
- 確認「WordPress 位址 (URL)」和「網站位址 (URL)」都是
https://開頭。 - 儲存變更。
步驟四:排查 Mixed Content(混合內容)
這是 SSL 設定中最常被忽略也最惱人的問題。你的網頁走 HTTPS,但頁面裡的某些資源(圖片、CSS、JS、字體)還在用 HTTP 載入,瀏覽器就會顯示「不安全」或拿掉鎖頭。
什麼是 Mixed Content?
你的頁面:https://yourdomain.com/about
但頁面裡有一張圖片:http://yourdomain.com/images/logo.png
↑ 這個 http 就是問題
瀏覽器會把這種情況標示為不安全,因為整個頁面不是 100% 加密。
如何找出 Mixed Content
方法一:瀏覽器開發者工具(最直接)
- 用 Chrome 打開你的網站。
- 按
F12打開開發者工具。 - 切換到「Console」分頁。
- 找帶有「Mixed Content」字樣的警告或錯誤訊息。
- 訊息會告訴你是哪個資源、在哪個頁面。
方法二:線上工具掃描
- Why No Padlock? — 輸入網址就能掃描該頁面的 mixed content。
- JitBit SSL Checker — 可以一次掃多個頁面。
方法三:全站掃描
如果你的站有很多頁面,手動一頁一頁查太累。WordPress 使用者可以用「Better Search Replace」外掛做全站替換(下一段會教)。
如何修正 Mixed Content
WordPress 站:用外掛一次修正
- 安裝「Better Search Replace」外掛。
- 在「搜尋」欄填入
http://yourdomain.com。 - 在「替換為」欄填入
https://yourdomain.com。 - 選擇所有資料表。
- 先勾選「Dry Run」執行一次測試,看有多少筆會被替換。
- 確認無誤後取消「Dry Run」,正式執行替換。
或者用 Really Simple SSL 外掛(更簡單)
- 安裝並啟用「Really Simple SSL」外掛。
- 外掛會自動偵測並修正大部分 mixed content 問題。
- 它會在頁面輸出前把 HTTP 連結動態替換成 HTTPS。
手動修正(非 WordPress 站)
- 用 File Manager 打開問題頁面的原始碼。
- 搜尋
http://開頭的資源連結。 - 改成
https://或使用//(protocol-relative URL)。 - 存檔後重新整理頁面確認。
常見 Mixed Content 來源:
| 來源 | 說明 | 修正方式 |
|---|---|---|
| 文章內嵌圖片 | 編輯器插入時用了 HTTP 連結 | Better Search Replace |
| 佈景主題硬寫 | 主題 CSS/JS 用絕對路徑 HTTP | 編輯主題檔案或換主題 |
| 外部嵌入 | Google Maps、影片嵌入碼用 HTTP | 改嵌入碼的 src |
| 自訂 CSS/Widget | 側邊欄或頁尾的自訂 HTML | 後台逐一修改 |
| CDN 設定 | CDN 還在走 HTTP | CDN 後台改設定 |
手動設定外部購買的憑證
如果你購買了 OV 或 EV 等級的 SSL 憑證(例如從侃瑞科技的 SSL 憑證方案),需要手動設定。
- 在 cPanel 的「Security」區塊,點擊「SSL/TLS」。
- 點擊「Manage SSL sites」。
- 在「Domain」下拉選擇你的網域。
- 貼上三組資料:
- Certificate (CRT):主憑證內容
- Private Key (KEY):私鑰內容
- Certificate Authority Bundle (CA Bundle):中繼憑證
- 點擊「Install Certificate」。
注意: CA Bundle 不能漏。漏裝的話,電腦版瀏覽器可能看起來正常(因為瀏覽器會自己補),但手機或 API 串接會出錯。
SSL 檢測工具
設定完成後,用以下工具確認一切正確:
- SSL Labs — 業界標準,會幫你評等級(目標 A 以上)。
- SSL Checker — 快速確認憑證鏈是否完整。
- Why No Padlock? — 找 mixed content 專用。
Troubleshooting
AutoSSL Run 失敗
最常見原因:
- DNS 未指向主機: A 記錄還沒改過來,或改了但還在傳播中(最多 48 小時)。
- Cloudflare Proxy 擋住驗證: 橘色雲朵模式會讓 AutoSSL 無法放置驗證檔案。暫時切成 DNS Only(灰色雲朵),等憑證簽發完再開回來。
.htaccess轉址干擾: 如果你的.htaccess把所有請求都轉走了,驗證檔案也會被轉走。暫時移除轉址規則。- 網域過期: 檢查你的網域是否還在有效期內。
憑證已簽發但瀏覽器仍顯示不安全
- 確認是不是 mixed content 問題(看 Console 有沒有警告)。
- 確認 Force HTTPS 已開啟。
- 清除瀏覽器快取後重試。
- 開無痕視窗測試。
「Your connection is not private」錯誤
- 憑證可能已過期 → 檢查 SSL/TLS Status 的到期日。
- 網域名稱和憑證不符 → 確認憑證覆蓋了
www和裸網域。 - 系統時間不對 → 檢查你電腦的時間設定。
www 和裸網域其中一個沒有 SSL
AutoSSL 通常會同時簽發 yourdomain.com 和 www.yourdomain.com。如果只有一個有:
- 確認兩個版本的 DNS 都指向主機。
- 手動 Run AutoSSL。
- 確認 cPanel 的 Domains 設定中
www有被列出。
做完後怎麼確認自己真的有設對
- 分別用
http://和https://打開網站,確認 HTTP 會自動轉到 HTTPS。 - 用 Chrome 開發者工具的 Console 確認沒有 Mixed Content 警告。
- 用 SSL Labs 跑一次完整檢測,確認等級在 A 以上。
- 用手機瀏覽器也測一次,確認鎖頭正常。
- 如果有子網域,每個子網域都要分別測試。
這一題最常踩的坑
- 以為有憑證就一定會自動走 HTTPS,沒開 Force HTTPS。
- 只改首頁能開 HTTPS,卻漏掉站內資源還在走 HTTP(mixed content)。
- 把 redirect 和快取一起開,錯誤時很難判斷是哪一層造成。
- WordPress 的「網站位址」還是
http://開頭。 - CA Bundle 漏裝,電腦看正常但手機出問題。
如果你要往下一步走
如果你還需要憑證格式轉換或檢測,接著看 SSL 憑證轉檔與檢測工具教學。如果你需要更高等級的憑證(OV/EV),可以到 SSL 憑證方案 選購,由我們的專家為你全程代管。如果你想把這些功能直接用在穩定環境,侃瑞的 cPanel 虛擬主機方案 可以直接對照本文操作。