Administrator
发布于 2026-01-30 / 0 阅读
0
0

1Panel 环境下申请 SSL 证书并开启 HTTPS 全过程记录

今天终于把博客域名 zzqblog.codes 的 HTTPS 搞定了。在 1Panel 面板下,整个过程虽然遇到了一些选择,但最终配置非常丝滑。以下是完整的实践记录:

1. 环境准备

  • 控制面板:1Panel

  • Web 服务器:OpenResty(1Panel 推荐的 Nginx 增强版)

  • 证书提供商:Let's Encrypt(免费、自动续期)

2. 证书申请方式的选择:HTTP 还是 DNS?

在申请证书时,我面临两个选择:

  • DNS 验证:可以申请泛域名证书(如 *.zzqblog.codes),但需要配置域名服务商(如 Name.com)的 API Key。

  • HTTP 验证:申请简单,只需证明你对当前域名有服务器控制权。

  • 最终决定:由于目前主要服务于 zzqblog.codeswww 二级域名,我选择了 HTTP 验证。它不需要暴露域名商的 API 权限,更加安全便捷。

3. 实操步骤

  1. 解析域名:在域名后台(Name.com)将 zzqblog.codeswww 解析到服务器 IP,并确保 80 端口已放行。

  2. 创建 Acme 账户:在 1Panel 的“证书”菜单下,使用自己的邮箱创建一个 Acme 账户,用于接收 Let's Encrypt 的通知。

  3. 申请证书

    • 选择 HTTP 验证模式。

    • 输入域名 zzqblog.codeswww.zzqblog.codes

    • 1Panel 自动配合 OpenResty 完成了 .well-known/acme-challenge 的文件校验。

  4. 证书自动续期:开启了自动续期功能。虽然 Let's Encrypt 证书只有 90 天有效期,但 1Panel 会在到期前 30 天自动完成重新申请。

4. 网站 HTTPS 配置优化

拿到证书后,我在网站设置中进行了以下关键配置:

  • 强制跳转:开启“访问 HTTP 自动跳转到 HTTPS”,确保流量不走明文。

  • 启用 HSTS:增加网站安全性,告诉浏览器在未来一段时间内只通过 HTTPS 访问。

  • TLS 协议优化

    • 保留:TLS 1.2, TLS 1.3(现代安全协议)。

    • 弃用:TLS 1.0, TLS 1.1(过时的不安全协议)。

5. 最终成果

通过日志可以看到,申请过程非常顺利,仅耗时 14 秒:

<TEXT>
2026/01/30 14:24:56 开始申请证书...

2026/01/30 14:25:04 [www.zzqblog.codes] The server validated our request

2026/01/30 14:25:08 [zzqblog.codes] The server validated our request

2026/01/30 14:25:10 申请 [zzqblog.codes,www.zzqblog.codes] 证书成功!!

现在,浏览器地址栏已经出现了象征安全的小锁头 🔒。


博主碎碎念: 折腾环境是博主的必经之路。虽然现在证书只有 90 天,但有了 1Panel 的自动续期,基本上可以做到“一次配置,终身无忧”。如果你也想快速搭建博客,1Panel + OpenResty 确实是个不错的方案。


评论