建站 23 4

    1Panel 生成SSL证书

    1Panel使用 DNS账号 和 HTTP 申请证书

    写在开头

       1Panel存在三种申请SSL证书的方式,本文主要介绍使用DNS账号HTTP方式申请,并且这两种申请证书可以通过服务器自动续签。

      域名申请前,需要在域名托管平台将域名提前解析,并等待 3 ~ 5 分钟,确实以及解析完成。

    申请证书

    DNS验证 和 HTTP

      DNS 验证和 HTTP 验证是两种不同的域名所有权验证方法,通常用于 SSL 证书申请或域名验证。它们的主要区别在于验证方式和使用的协议。

    DNS 验证

    • 原理:通过在域名的 DNS 记录中添加一个特定的 TXT 记录来验证域名所有权。
    • 过程

      • 提供商会给你一个特定的 TXT 记录值。
      • 你将这个值添加到域名的 DNS 配置中(通常在域名注册商的管理面板里设置)。
      • 验证系统会查询 DNS,确认这个 TXT 记录是否存在,以验证域名所有权。
    • 优点:适用于无法直接控制 Web 服务器的情况(比如域名指向了其他地方)。
    • 缺点:可能需要一些时间才能生效(DNS 的传播可能会有延迟)。

    HTTP 验证

    • 原理:通过在网站根目录下放置一个特定的文件或 URL 路径来验证域名所有权。
    • 过程

      • 提供商会给你一个特定的文件(通常是一个 .txt 文件)或指定 URL。
      • 你需要将该文件上传到网站的根目录,或者在特定路径下提供文件。
      • 验证系统会尝试访问该文件,确认是否存在,从而验证域名所有权。
    • 优点:即时生效,只要文件正确上传即可。
    • 缺点:需要对 Web 服务器有访问权限,且只有在网站正常运行时才能进行验证。

    添加Acme 账户

      点击Acme账户 --> 点击 创建 --> 填写邮箱 (临时邮箱即可) --> 点击确认


    DNS验证 申请证书

    添加 DNS 账户

      点击DNS账户 --> 点击创建

      DNS账户,存在多种类型,包括 阿里云 腾讯云 华为云 CloudFlare 等。此处介绍 CloudFlare腾讯云 添加DNS的教程

      1. CloudFlare

      前往创建API Token链接直达

      点击创建令牌 -> 编辑区域 DNS 使用模板 ->区域资源处选择对应的域名 -> 继续以选择摘要 -> 创建令牌 -> copy

      将获得的令牌输入到1panel,DNS账户,API Token之中。


      将内容填入对应内容之中。


    名称EmailAPI Token
    CloudFlare注册CloudFlare的邮箱API Token

      2. 腾讯云

      前往 API密钥管理

      【API密钥管理 链接直达


      保存好 Secret IDSecret Key

      右上角为 账户ID

      将申请的内容填入下面内容

    名称Secret IDSecret Key
    账户IDSecret IDSecret Key


    DNS申请证书

    • 点击申请证书
    • 填写主域名
    • 选择Acme账户
    • 验证方式选择DNS账户
    • DNS账户选择创建的CloudFlare
    • 点击确认 申请证书



    HTTP申请证书

    [window type="yellow" title="注意"]HTTP 模式无法申请泛域名证书[/window]

    • 点击申请证书
    • 填写主域名
    • 选择Acme账户
    • 验证方式选择HTTP
    • 点击确认 申请证书




    碎碎念

      DNS验证会些许麻烦一些,之前一直都是使用DNS验证,每安装1Panel面板后,都需要再配置好相应的 DNS账户

      当域名申请证书失败时,首先检测域名是否以及正确解析,其次清理缓存,否则可能会使得申请失败。

    1. 陶小桃Blog
      2024-11-21 16:53

      用的CertD感觉也挺方便的,一个docker应用

    2. 黑桃三
      2024-11-21 14:51

      虫洞来的,留个名儿~

        1. zephyr 作者
          2024-11-21 17:06
          @黑桃三

          是的,如果不使用1panel面板,用这个也很方便:#(bilibili2233-6)

        2. zephyr 作者
          2024-11-21 14:58
          @黑桃三

          :#(bilibili2233-6)