Cloudflare 設定指南:如何正確配置 SSL/TLS 加密模式

最後更新:2025年3月13日
架構

對於初學者來說,Cloudflare 是一個強大的 CDN(內容傳遞網路)與安全防護服務,能有效提升網站速度並增強安全性。

其中,SSL/TLS 加密模式(SSL/TLS Encryption Mode)是一個關鍵設定,直接影響網站與訪客之間的安全連線方式。

本篇文章將詳細介紹 SSL/TLS 加密模式的概念,以及如何正確選擇適合的模式,確保您的網站既安全又穩定。


SSL/TLS 加密模式是什麼?

SSL(Secure Sockets Layer)與TLS(Transport Layer Security是兩種用於加密網路傳輸的協議,確保數據在伺服器與用戶端之間的傳輸安全。

Cloudflare 提供不同的 SSL/TLS 加密模式,允許網站管理員控制 Cloudflare 與原始伺服器之間的加密級別。

當您透過 Cloudflare 管理網站時,訪客的流量會先經過 Cloudflare,再轉發到您的原始伺服器。

因此,Cloudflare 提供了四種不同的 SSL/TLS 加密模式,讓您根據原始伺服器的配置選擇適合的安全性層級。


Cloudflare SSL/TLS 加密模式解析

Cloudflare 提供四種 SSL/TLS 加密模式,每種模式適用於不同的網站環境與安全需求。了解這些模式的運作方式,有助於您選擇最合適的設定,確保網站的安全性與穩定性。

Off(關閉 SSL/TLS)

🔹 作用方式

  • 訪客 → Cloudflare:使用 HTTP(未加密)
  • Cloudflare → 原始伺服器:使用 HTTP(未加密)

這種模式完全不提供加密,無論是訪客連接 Cloudflare,還是 Cloudflare 連接您的原始伺服器,所有的流量都是明文傳輸

🔹 適用情境

  • 您的網站 完全不使用 HTTPS,且沒有 SSL 憑證。
  • 僅適用於開發測試環境,不適用於正式網站。

🔹 風險

  • 極不安全! 所有傳輸內容(包括用戶密碼、信用卡資訊等)都可能被中間人攻擊(MITM)竊取。
  • 訪客的瀏覽器可能會顯示「不安全」警告,影響用戶信任度。
  • 搜尋引擎(如 Google)會對未使用 HTTPS 的網站降低排名,影響 SEO。

🔹 建議

🚫 不建議使用此模式! 除非您的網站完全不涉及敏感資訊,且只是用來測試 HTTP 連線。

Flexible(彈性模式)

🔹 作用方式

  • 訪客 → Cloudflare:使用 HTTPS 加密
  • Cloudflare → 原始伺服器:使用 HTTP(未加密)

Cloudflare 會為訪客提供 HTTPS 連線,但 Cloudflare 與原始伺服器之間仍然是未加密的 HTTP,這意味著後端流量依然有被攔截的風險

🔹 適用情境

  • 您的網站沒有安裝 SSL 憑證,但仍希望訪客透過 HTTPS 連線。
  • 短期解決方案,當您還沒來得及安裝 SSL 憑證時,可以暫時使用。

🔹 風險

  • 後端連線(Cloudflare → 原始伺服器)未加密,駭客仍然可能在這個階段攔截數據。
  • 重定向迴圈(Redirect Loop)問題
    • 如果您的伺服器內部設定為強制 HTTPS,可能會與 Cloudflare 發生無限重定向的錯誤(因為 Cloudflare 發來的是 HTTP,但伺服器要求 HTTPS,導致無窮迴圈)。
  • 不適用於登入頁面、電子商務網站或任何需要傳輸機密資訊的網站,因為後端流量仍然不安全。

🔹 建議

⚠️ 不建議長期使用!

如果您的伺服器還沒有 SSL 憑證,應儘快安裝 Let’s Encrypt 或其他免費 SSL 憑證,然後切換到Full 或 Full (Strict) 模式

Full(完整模式)

🔹 作用方式

  • 訪客 → Cloudflare:使用 HTTPS 加密
  • Cloudflare → 原始伺服器:使用 HTTPS 加密,但不驗證憑證的有效性

這種模式確保整個傳輸過程都是加密的,但 Cloudflare 不會檢查原始伺服器上的 SSL 憑證是否有效

即使憑證過期、是自簽憑證,甚至是不受信任的憑證,Cloudflare 仍然會接受並進行 HTTPS 連線。

🔹 適用情境

  • 您的伺服器已經安裝 SSL 憑證(可以是自簽憑證或 Let’s Encrypt),但不希望 Cloudflare 嚴格驗證它的有效性。
  • 需要在 Cloudflare 與伺服器之間使用 HTTPS,但暫時沒有辦法安裝正式 SSL 憑證。

🔹 風險

  • Cloudflare 不會驗證 SSL 憑證的有效性,這代表如果憑證過期、錯誤,或來自不受信任的來源,Cloudflare 仍然會接受。
  • 若駭客偽造一個自簽憑證,可能會欺騙 Cloudflare,導致網站流量被攔截。

🔹 建議

適用於一般情境,但仍建議改用 Full (Strict) 模式

如果您的 SSL 憑證是有效且受信任的,請直接使用 Full (Strict) 來確保安全性更高。

補充:為什麼 Full 模式允許過期或自簽憑證?

Cloudflare 在 Full 模式 下的主要目標是確保 Cloudflare 與原始伺服器之間的流量是加密的,即便憑證本身不是有效的。

  • Full 模式的重點是「加密」而不是「驗證」
  • 這樣做的好處是,即使你使用了一個過期或自簽的憑證,Cloudflare 與你的伺服器之間的流量仍然是 HTTPS 加密的,而不是明文傳輸(像 Flexible 模式那樣)。

舉個例子,假設你的伺服器安裝了一個自簽憑證(Self-Signed Certificate)

如果你設定 Cloudflare 為 Flexible 模式,Cloudflare 會用 HTTP 來連線你的伺服器,導致原始伺服器之間的流量是未加密的

但如果你使用 Full 模式,Cloudflare 仍然會使用 HTTPS 來連線你的伺服器,即便你的憑證沒有被驗證。

換句話說,這個模式的設計目的是:

  1. 讓 Cloudflare 與你的伺服器之間的流量仍然是加密的(即便 SSL 憑證不受信任)。
  2. 允許網站管理員使用自簽憑證或過期憑證作為臨時方案,而不影響 Cloudflare 提供 HTTPS 服務。
那為什麼還需要 SSL 憑證?

雖然 Cloudflare 的 Full 模式 允許使用過期或自簽憑證,但憑證仍然非常重要,主要原因有以下幾點:

(1) Full 模式不會驗證憑證,可能帶來安全風險
  • 駭客可以冒充你的伺服器
    • 由於 Cloudflare 不會驗證憑證的有效性,這代表如果駭客攔截了你的流量,並回應 Cloudflare 一個偽造的自簽憑證,Cloudflare 可能會接受,這可能導致中間人攻擊(MITM)
    • 這就是為什麼 Full 模式的安全性 比不上 Full (Strict) 模式
(2) 瀏覽器仍然需要有效的 SSL 憑證
  • Cloudflare 只能保護訪客 → Cloudflare 這一段的 HTTPS,但如果你直接訪問你的原始伺服器(例如透過 IP 或其他方式),瀏覽器仍然會顯示 SSL 錯誤警告,因為你的憑證是過期或無效的。
(3) 不能使用 HSTS(HTTP Strict Transport Security)
  • HSTS 需要一個有效的 SSL 憑證才能啟用,如果你使用過期或自簽憑證,你無法啟用 HSTS,這會降低網站的安全性。
(4) API、Webhook 可能無法運作
  • 許多第三方服務(如支付平台、API 服務)會檢查 SSL 憑證的有效性,如果你的憑證過期,這些服務可能會拒絕連線,導致網站的某些功能無法正常運作。

Full (Strict)(完整嚴格模式)

🔹 作用方式

  • 訪客 → Cloudflare:使用 HTTPS 加密
  • Cloudflare → 原始伺服器:使用 HTTPS 加密,並驗證 SSL 憑證的有效性

此模式提供最高等級的安全性,確保所有連線過程都是加密的,且 Cloudflare 會驗證原始伺服器的 SSL 憑證是否有效

🔹 適用情境

  • 您的伺服器已安裝有效且受信任的 SSL 憑證(如 Let’s Encrypt、GlobalSign、DigiCert 等)。
  • 希望確保 Cloudflare 與原始伺服器之間的連線安全,避免駭客利用無效或冒充的憑證進行攻擊。
  • 適用於電子商務、會員網站、企業系統等需要高安全性的網站。

🔹 優勢

最高等級的安全性,確保整個通訊過程都是可信且受保護的
Cloudflare 會驗證 SSL 憑證的有效性,避免駭客冒充原始伺服器。
符合搜尋引擎最佳安全標準,有助於 SEO 排名。

🔹 建議

🔥 強烈建議使用!

如果您的伺服器有有效的 SSL 憑證(可以使用免費的 Let’s Encrypt),這是最推薦的模式,確保整個網站連線過程最安全。


如何在 Cloudflare 設定 SSL/TLS 加密模式?

如果您已經決定使用哪種 SSL/TLS 模式,可以按照以下步驟設定:

步驟 1:登入 Cloudflare

  1. 前往 Cloudflare 官網 並登入您的帳戶。
  2. 在**儀表板(Dashboard)**選擇您的網站。

步驟 2:進入 SSL/TLS 設定

  1. 在左側選單點選 SSL/TLS
  2. 在「Overview(概覽)」標籤下,找到 SSL/TLS Encryption Mode(SSL/TLS 加密模式)。

步驟 3:選擇適合的模式

根據您的需求選擇以下模式:

  • Off:不加密(不推薦)。
  • Flexible:適用於沒有 SSL 憑證的網站(不太安全)。
  • Full:有 SSL 憑證但不驗證(中等安全)。
  • Full (Strict):有有效 SSL 憑證並驗證(最安全,推薦!)。

步驟 4:確認設定並測試

  1. 選擇模式後,Cloudflare 會自動套用變更。
  2. 建議您等待幾分鐘後,開啟瀏覽器並輸入 https://您的網站 來測試是否正常運作。

結論:哪種 SSL/TLS 模式最適合你?

加密方式無加密
Cloudflare 連線原始伺服器HTTP
安全性🚫極低
適用場景不建議使用
加密方式HTTPS
Cloudflare 連線原始伺服器HTTP
安全性⚠️低
適用場景沒有 SSL 憑證的臨時方案
加密方式HTTPS
Cloudflare 連線原始伺服器HTTPS(不驗證憑證)
安全性✅中等
適用場景伺服器有 SSL,但不需嚴格驗證
加密方式HTTPS
Cloudflare 連線原始伺服器HTTPS(驗證憑證)
安全性🔥最高
適用場景最推薦!最安全的選擇

如果您希望最高的安全性,Full (Strict) 模式是最佳選擇,確保整個網站的加密流量都受到保護。

如果您的伺服器無法安裝正式 SSL 憑證,Full 模式仍然是一個比 Flexible 更好的選擇。

透過正確的 Cloudflare 設定,您可以提升網站的安全性,保護訪客數據,並確保良好的使用者體驗!

希望這篇指南能幫助您順利設定 Cloudflare 的 SSL/TLS 模式,讓您的網站更加安全與穩定。🚀