应用内证书

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 证书,提高网站的安全性和可信度。