标签: SSL证书

  • Certimate-开源的SSL证书管理工具的部署和安装使用说明

    Certimate-开源的SSL证书管理工具的部署和安装使用说明

    一、简述

    做个人产品或在小企业负责运维的同学,需要管理多个域名,要给域名申请证书。但手动申请证书有以下缺点:

    1. 😱麻烦:申请、部署证书虽不困难,但也挺麻烦的,尤其是维护多个域名的时候。
    2. 😭易忘:当前免费证书有效期仅90天,这就要求定期操作,增加工作量的同时,也很容易忘掉,导致网站无法访问。

    Certimate 就是为了解决上述问题而产生的,它具有以下特点:

    1. 操作简单:自动申请、部署、续期 SSL 证书,全程无需人工干预。
    2. 支持私有部署:部署方法简单,只需下载二进制文件执行即可。二进制文件、docker 镜像全部用 github actions 生成,过程透明,可自行审计。
    3. 数据安全:由于是私有部署,所有数据均存储在本地,不会保存在服务商的服务器,确保数据的安全性。

    相关文章:

    Certimate 旨在为用户提供一个安全、简便的 SSL 证书管理解决方案。使用文档请访问https://docs.certimate.me

    • 🔒Certimate
      • 一、安装
        • 1. 二进制文件
        • 2. Docker 安装
        • 3. 源代码安装
      • 二、使用
      • 三、支持的服务商列表
      • 四、系统截图
      • 五、概念
        • 1. 域名
        • 2. dns 服务商授权信息
        • 3. 部署服务商授权信息
      • 六、常见问题
      • 七、贡献
      • 八、加入社区

    二、Certimate安装

    安装 Certimate 非常简单,你可以选择以下方式之一进行安装:

    你可以直接从Releases 页下载预先编译好的二进制文件,解压后执行:

    ./certimate serve

    Note: MacOS 在执行二进制文件时会提示:无法打开“certimate”,因为Apple无法检查其是否包含恶意软件。可在系统设置> 隐私与安全性> 安全性 中点击 “仍然允许”,然后再次尝试执行二进制文件。

    git clone git@github.com:usual2970/certimate.git && cd certimate/docker && docker compose up -d
    git clone EMAIL:usual2970/certimate.git
    cd certimate
    go run main. Go serve

    执行完上述安装操作后,在浏览器中访问 http://127.0.0.1:8090 即可访问 Certimate 管理页面。

    用户名:admin@certimate.fun
    密码:1234567890

    Certimate-开源的SSL证书管理工具的部署和安装使用说明
    阿里云支持阿里云注册的域名,支持部署到阿里云 CDN,OSS
    腾讯云支持腾讯云注册的域名,支持部署到腾讯云 CDN
    七牛云七牛云没有注册域名服务,支持部署到七牛云 CDN
    CloudFlare支持 CloudFlare 注册的域名,CloudFlare 服务自带SSL证书
    SSH支持部署到 SSH 服务器
    WEBHOOK支持回调到 WEBHOOK
    Certimate-开源的SSL证书管理工具的部署和安装使用说明
    Certimate-开源的SSL证书管理工具的部署和安装使用说明
    Certimate-开源的SSL证书管理工具的部署和安装使用说明
    Certimate-开源的SSL证书管理工具的部署和安装使用说明
    Certimate-开源的SSL证书管理工具的部署和安装使用说明

    三、Certimate 的工作流程

    • 用户通过 Certimate 管理页面填写申请证书的信息,包括域名、dns 服务商的授权信息、以及要部署到的服务商的授权信息。
    • Certimate 向证书厂商的 API 发起申请请求,获取 SSL 证书。
    • Certimate 存储证书信息,包括证书内容、私钥、证书有效期等,并在证书即将过期时自动续期。
    • Certimate 向服务商的 API 发起部署请求,将证书部署到服务商的服务器上。

    这就涉及域名、dns 服务商的授权信息、部署服务商的授权信息等。

    就是要申请证书的域名。

    给域名申请证书需要证明域名是你的,所以我们手动申请证书的时候一般需要在域名服务商的控制台解析记录中添加一个 TXT 记录。

    Certimate 会自动添加一个 TXT 记录,你只需要在 Certimate 后台中填写你的域名服务商的授权信息即可。

    比如你在阿里云购买的域名,授权信息如下:

    accessKeyId: xxx
    accessKeySecret: TOKEN

    在腾讯云购买的域名,授权信息如下:

    secretId: xxx
    secretKey: TOKEN

    Certimate 申请证书后,会自动将证书部署到你指定的目标上,比如阿里云 CDN 这时你需要填写阿里云的授权信息。Certimate 会根据你填写的授权信息及域名找到对应的 CDN 服务,并将证书部署到对应的 CDN 服务上。

    部署服务商授权信息和 dns 服务商授权信息一致,区别在于 dns 服务商授权信息用于证明域名是你的,部署服务商授权信息用于提供证书部署的授权信息。

    Q: 提供saas服务吗?

    A: 不提供,目前仅支持self-hosted(私有部署)。

    Q: 数据安全?

    A: 由于仅支持私有部署,各种数据都保存在用户的服务器上。另外Certimate源码也开源,二进制包及Docker镜像打包过程全部使用Github actions进行,过程透明可见,可自行审计。

    Q: 自动续期证书?

    A: 已经申请的证书会在过期前10天自动续期。每天会检查一次证书是否快要过期,快要过期时会自动重新申请证书并部署到目标服务上。

    Certimate 是一个免费且开源的项目,采用 MIT 开源协议。你可以使用它做任何你想做的事,甚至把它当作一个付费服务提供给用户。

    你可以通过以下方式来支持 Certimate 的开发:

    • 提交代码:如果你发现了 bug 或有新的功能需求,而你又有相关经验,可以提交代码给我们。
    • 提交 issue:功能建议或者 bug 可以提交 issue 给我们。

    支持更多服务商、UI 的优化改进、BUG 修复、文档完善等,欢迎大家提交 PR。

    Certimate-开源的SSL证书管理工具的部署和安装使用说明
  • WordPress转纯静态的简单易于实现的评论系统解决方案-Waline

    WordPress转纯静态的简单易于实现的评论系统解决方案-Waline

    之前偶然间看到有群友使用wordpress转纯静态做企业官网,并在更新时上传更新后的静态html文件至各静态服务处。觉得速度很快,而且可以完全不用担心安全问题,也能随时将静态文件丢到任意托管平台。

    遂仔细研究了一番,制作了本站的这个主题,为完全静态化做准备【ps:等服务器到期后,就转入无服务器部署,纯静态方案!】。

    而我并不希望做一个完全静态的博客,希望能跟更多网友交流,不管是了解最新趋势,还是单纯的讨论些问题,因此还要解决评论这个问题。

    搜索一番,有推荐twikoo, artalk的。但仔细翻阅后,发现与我的需求不太符:

    1. 能通过简单的js,css引入
    2. 简洁美观
    3. 数据可控
    4. 最好有用户管理
    5. 简单部署,最好不用部署

    最后找到了Waline这个项目,【配置丰富,部署简单,引入方便!】

    遂将其引入,作为本站评论的解决方案,具体可以看本站文章底部的评论框。

    以下是一些本站的配置:

    一、waline服务端的部署:

    基本参照waline官方教程一步步往下,非常简单直观。如下:

    (一)首先完成leancloud国际版的注册

    注册完成后,创建个应用,以供waline做数据库存储。

    然后点击设置,在应用凭证处查看部署waline所需的全部信息。

    【ps: 绑定自定义域名过程极慢,除了前期的绑定阶段,还有后期的证书部署阶段,建议至少留1天时间,和上传自己域名的SSL证书】

    (二)开始项目主体服务端在vercel上的部署

    请参考官方教程,然后填写相对应的环境变量,本站的一些变量参数如下:

    waline官方有对基本环境变量的解释,自行查阅。=.=上述参数不一定全有用,有些并没有实际用上。

    二、waline客户端的部署

    waline客户端引入非常简单,只需要一个绑定div和引入js即可,官方版本如下:

    <head>
      <!-- ... -->
      <link
        rel="stylesheet"
        href="https://unpkg.com/@waline/client@v3/dist/waline.css"
      />
      <!-- ... -->
    </head>
    <body>
      <!-- ... -->
      <div id="waline"></div>
      <script type="module">
        import { init } from 'https://unpkg.com/@waline/client@v3/dist/waline.js';
    
        init({
          el: '#waline',
          serverURL: 'https://your-domain.vercel.app',
        });
      </script>
    </body>

    不建议用第三方资源库了,尤其哪些有投毒前科的,建议自托管,本身没多大的文件。

    三、waline的前端配置

    <div id="waline"></div>
      <script type="module">
        import { init } from '/waline/2.15.8/waline.js';
    
        init({
          imageUploader: false,
          el: '#waline',
          serverURL: 'https://comments.waoww.com',
        });
      </script>

    四、还有更多的一些

    waline的配套部署应该还有很多,但配置到现在这样,已经完全能够满足本站的需求了,因此后续将看情况继续添加和优化,并不断在本文继续补充。如果你有什么推荐的配置,欢迎留言评论!

    【更新补充】

    移除waline第三方静态资源库托管,转为自托管。(最近这些第三方静态库屡屡爆出投毒,除了大厂的,其他的真不敢用了,有些投毒藏得太深。)

    五、接入waline社交登陆系统

    Waline已经集成了社交登录,但是并没有默认开启,且文档资料也比较凌乱,仅在高级配置项有指向链接:

    对此本站理解不深,但最后运行起来了。就是Deploy, 绑定域名,然后添加各自平台登录的环境变量appket secret 之类。