最近个人网站的https证书到期了,之前一直使用的腾讯的免费证书,但是每年都要手动申请一次。每次申请部署都比较麻烦。网上也了解过免费证书的网站。比如比较有名的Let’s Encrypt。Let’s Encrypt 提供免费的自动化证书服务,可以通过ACME协议自动申请和续期证书,大大简化了证书管理的流程。但是由于在Let’s Encrypt申请免费证书有一定的学习成本,加上自己时间有限,所以一直没有尝试。
正好借着这次https证书到期,索性就花时间研究了一下,并借助1Panel完成了证书申请和自动续签。这里记录一下操作过程,希望对有需要的朋友有所帮助。
1Panel 简介
1Panel 是一款基于 Docker 的轻量级服务器运维管理面板,旨在为用户提供简洁易用的界面,方便管理服务器、部署应用、监控系统等。它支持多种操作系统,包括 Linux 和 Windows,用户可以通过 Web 界面轻松管理服务器。
- 官网地址: https://1panel.io/
- 安装方式: Docker 安装、Kubernetes 安装、手动安装等。
由于国内网络环境复杂,使用在线安装时可能会因网络超时导致安装失败。若遇到问题,可以参考官网的手动安装教程。
核心功能
我主要使用了 1Panel 的两个功能:静态网站部署 和 SSL 证书管理。
1. 静态网站部署
1Panel 的静态网站部署功能是通过 OpenResty 实现的。OpenResty 是一个基于 Nginx 的 Web 服务器,集成了 Lua 解释器,支持动态路由、缓存、限流等功能。
- OpenResty 官网: https://openresty.org/
- 安装方式: 在 1Panel 的应用商店中查找并安装 OpenResty。
安装完成后,进入 1Panel 的网站管理页面,点击“创建静态网站”。填写主域名和代号(可选),分组可以默认。创建完成后,进入网站设置页面,核心配置项包括:
- 网站目录: 显示网站在物理机上的真实路径和根目录。
- HTTPS: 显示网站的 SSL 证书信息,支持手动关联 1Panel 上已托管的证书。
2. SSL 证书管理
1Panel 支持两种方式管理 SSL 证书:
- 托管已有证书: 将其他平台申请的证书上传到服务器。
- 申请新证书: 通过 Acme 或 DNS 账号申请新证书。
Acme 账号注册
Acme 账号注册非常简单,只需使用任意邮箱即可完成注册。
DNS 账号注册
以阿里云为例,首先登录阿里云的 RAM 控制台 (https://ram.console.aliyun.com/users),创建一个新用户,并为该用户添加 DNS 管理权限。创建用户时,访问方式选择“使用永久 AccessKey 访问”。创建完成后,系统会生成 AccessKeyId 和 AccessKeySecret,请务必保存好 AccessKeySecret,因为它只会显示一次。
接下来,为新用户添加 DNS 管理权限。在权限管理中搜索 DNS,选择 AliyunDNSFullAccess
权限策略并确认。
申请证书
回到 1Panel,进入证书管理页面,点击“申请证书”,选择刚刚创建的 Acme 和 DNS 账号,然后点击申请。
注意: 域名托管服务商必须与证书申请的 DNS 服务商一致,否则会导致 DNS 解析失败,申请证书失败。
部署证书
证书申请完成后,进入 1Panel 的网站管理页面,点击之前创建的网站,进入网站设置页面。在 HTTPS 配置中,启用 HTTPS,选择“已有证书”,并选择刚刚申请的证书,点击确认即可。
通过以上步骤,您可以轻松使用 1Panel 部署静态网站并管理 SSL 证书,确保网站的安全性和稳定性。