應用內證書

SSL 證書是保護網站和使用者之間資料傳輸安全的重要工具,它可以防止資料被第三方竊取或篡改。在應用的 SSL 頁面,您可以選擇為整個應用授予一個全域性證書,或者透過點選 新增證書 按鈕為應用新增一個特定的 SSL 證書。

證書概覽

新增應用證書

您可以根據以下步驟為應用新增 SSL 證書:

  1. 點選 新增證書 按鈕。

    新增證書

  2. 選擇證書新增方式:

    • 手動上傳:上傳您已有的 SSL 私鑰和伺服器證書
    • Let’s Encrypt:線上申請由 Let’s Encrypt 簽發的免費證書
    • 通用 ACME 發行者:使用符合 ACME 協議的其他證書發行者生成證書
    • 全域性證書:使用系統中已配置的全域性證書
  3. 配置客戶端證書要求:

    • 是:強制要求客戶端證書
    • 否:不要求客戶端證書
    • 可選:透過頁面規則中的"Enable SSL Client Verify"動作靈活控制
  4. 設定是否將此證書設為預設證書。當請求無法匹配到特定證書時,系統將使用預設證書。

手動上傳證書

手動上傳證書

選擇手動上傳已有證書時,您可以:

  • PEM:直接上傳私鑰和證書檔案,或貼上檔案內容。可以將 伺服器證書 分為 CA 認證鏈和伺服器證書兩部分上傳,也可以將兩者合併在 伺服器證書 欄位中。
  • PKCS#12:選擇 PKCS12 型別並上傳 .p12.pfx 檔案。檔案中需要包含伺服器證書及匹配的私鑰,也可以包含完整證書鏈。如果檔案受密碼保護,請同時輸入對應的密碼。上傳後,OpenResty Edge 會將證書和私鑰轉換為 PEM 格式儲存。

使用 Let’s Encrypt 自動簽發證書

Let’s Encrypt 證書

在使用此方式之前,請確保您的域名 DNS 已正確解析並指向您的 Edge Node 閘道器伺服器。

使用其他 ACME 發行商自動簽發證書

ACME 證書

使用此方式前,您需要:

  1. 確保您的域名 DNS 已正確解析並指向您的 Edge Node 閘道器伺服器。
  2. 在 OpenResty Edge 系統中新增如 ZeroSSL 等證書發行商的相關資訊。

ACME 發行商

使用外部 DNS 服務商完成 DNS-01 驗證

使用 Let’s Encrypt 或其他符合 ACME 協議的證書發行商簽發 TLS 證書時,可以指定外部 DNS 服務商,透過 DNS-01 驗證域名所有權。

在以下任一場景中,可以透過外部 DNS 服務商完成 DNS-01 驗證:

  • 域名的 DNS 記錄未指向 OpenResty Edge Node,例如域名的權威 DNS 託管在公共 DNS 服務商處並指向其他伺服器。
  • OpenResty Edge Node 未暴露在公網,證書籤發機構無法透過 HTTP 請求訪問該節點。

使用此功能前,請先在全域性配置中建立 DNS 服務商,並填寫該服務商的授權資訊。新增 Let’s Encrypt 或通用 ACME 證書時,請在 DNS Provider 中選擇域名實際使用的外部 DNS 服務商。OpenResty Edge 會透過該服務商的 API 在權威 DNS 中建立 DNS-01 驗證所需的 _acme-challenge TXT 記錄。驗證完成後,證書會自動簽發並部署,無需將域名的 DNS 遷移到 OpenResty Edge,也無需將 Edge Node 暴露在公網。

請確保:

  • 所選證書發行商支援 DNS-01 驗證。
  • DNS 服務商的授權憑據具有修改對應 DNS 區域記錄的許可權。
  • OpenResty Edge Admin 可以訪問 DNS 服務商和證書發行商的 API。

自動續期時,OpenResty Edge 會再次透過所選 DNS 服務商完成 DNS-01 驗證,因此請保持授權憑據有效。

引用全域性證書

要引用全域性證書,請按以下步驟操作:

  1. 首先,建立一個全域性證書
  2. 假設應用的域名是 test.com,在證書下拉列表中選擇 *.test.com 這個全域性證書。
  3. 注意:證書的域名必須與應用的域名相匹配或涵蓋應用域名,否則證書驗證將失敗。

選擇全域性證書

為同一域名配置多個 ACME 證書

預設情況下,OpenResty Edge 只允許為一個域名新增一個 ACME 證書。如果您需要為同一個域名設定多個 ACME 證書,可以按照以下步驟操作:

  1. 編輯配置檔案:/usr/local/oredge-admin/conf/config.ini
  2. 新增或修改以下配置:
[acme]
acme_skip_duplicate_check = true

透過設定 acme_skip_duplicate_check = true,系統將允許為同一個域名配置多個 ACME 證書。

  1. 重啟服務以使配置生效:
sudo systemctl start upgrade-oredge-admin

透過以上設定,您可以靈活地管理應用的 SSL 證書,提高網站的安全性和可信度。