Skip to content
网游世界
网游世界

吾生有涯,而知无涯。

  • 首页
  • PHP
    • ThinkPHP
    • FastAdmin
    • webman
  • JavaScript
    • jQuery
    • AdminLTE
  • Free Pascal
  • Java
    • JeeSite
    • 若依
    • ruoyi-vue-pro
  • 其它
    • 操作系统
    • 树莓派
    • 前端
    • Null
  • 关于
网游世界

吾生有涯,而知无涯。

再说 Let’s Encrypt

3Vshej, 2025年3月4日 周二2025年3月4日 周二

Let’s Encrypt 是一家免费、开放、自动化的证书颁发机构,由非营利组织互联网安全研究组(ISRG)运作。

这里将逐步介绍在 BT 面板下如何使用腾讯云域名解析来创建证书。

0、准备腾讯密钥

使用 https://console.dnspod.cn/account/token/apikey 或 https://console.cloud.tencent.com/cam/capi 来创建密钥。

1、安装 certbot

yum install certbot

pip3 install certbot-dns-tencentcloud
# 或者使用 pip install certbot-dns-tencentcloud

其他域名插件你可以在这里找到:https://eff-certbot.readthedocs.io/en/stable/using.html#dns-plugins。
如:

  • certbot-dns-cloudflare
  • certbot-dns-digitalocean
  • certbot-dns-dnsimple
  • certbot-dns-dnsmadeeasy
  • certbot-dns-gehirn
  • certbot-dns-google
  • certbot-dns-linode
  • certbot-dns-luadns
  • certbot-dns-nsone
  • certbot-dns-ovh
  • certbot-dns-rfc2136
  • certbot-dns-route53
  • certbot-dns-sakuracloud

查询已安装的插件:

certbot plugins

2、创建并存储密钥

# root 用户依赖创建目录及文件
~/.secrets/certbot/tencentcloud.ini

# 设置权限
chmod 600 ~/.secrets/certbot/tencentcloud.ini

文件内容为:

dns_tencentcloud_secret_id  = TENCENTCLOUD_SECRET_ID
dns_tencentcloud_secret_key = TENCENTCLOUD_SECRET_KEY

3、创建证书

certbot certonly -a dns-tencentcloud --dns-tencentcloud-credentials ~/.secrets/certbot/tencentcloud.ini -d a.cn -d *.a.cn -d b.com -d *.b.com --dns-tencentcloud-debug true --pre-hook "service nginx stop" --post-hook "service nginx start"

其中 -d 参数,你可以添加多个域名。

当前你可以在创建证书前使用环境变量(不建议这么做)。

export TENCENTCLOUD_SECRET_ID=<your_secret_id>
export TENCENTCLOUD_SECRET_KEY=<your_secret_key>

4、查询证书存放位置

certbot certificates

你会看下类似如下信息:

  Found the following certs:
Certificate Name: a.cn
  Serial Number: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  Key Type: RSA
  Domains: a.cn *.a.cn 
  Expiry Date: 2025-05-30 13:26:03+00:00 (VALID: 87 days)
  Certificate Path: /etc/letsencrypt/live/a.cn/fullchain.pem
  Private Key Path: /etc/letsencrypt/live/a.cn/privkey.pem

Certificate Name 为证书名(吊销时要用)。

Certificate Path 证书位置(下面要用)。

Private Key Path 私钥位置(下面要用)。

5、BT 站点设置证书

如你存放在:/www/letSSL.conf

listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/a.cn/fullchain.pem;  # 指定SSL证书文件路径
ssl_certificate_key /etc/letsencrypt/live/a.cn/privkey.pem;  # 指定SSL证书私钥文件路径

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_buffer_size 1400;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
ssl_stapling on; 
ssl_stapling_verify on;

ssl_session_timeout 1d;
ssl_session_tickets on;

http2 on;

在 BT 网站各“配置文件”文件中,增加

# SSL 证书
include /www/letSSL.conf;

6、建立计划任务

因为证书有效期为90天,因此,你需要建立计划任务,根据证书创建时间设置每月几号运行。

类型为:Shell 脚本
名称为:续签Let’s Encrypt证书
周期:每月11日3时0分
脚本内容:

certbot renew
/etc/init.d/nginx restart

8、重启 Nginx

重启或重载配置,以生效。

9、吊销证书

certbot revoke --cert-name a.com --reason superseded

其中参数 –cert-name 为 certbot certificates 查询后的证书名(Certificate Name)。

–reason 参数有:

未提供任何理由或 unspecified
当下面的原因代码不适用于吊销请求时,用户不能提供除“未指定”以外的理由代码。

keyCompromise
当用户有理由相信其证书的私钥已被泄露时,必须选择吊销原因“keyCompromise”。例如,未经授权的人可以访问证书的私钥。
如果吊销请求是使用证书私钥而不是用户帐户私钥签署的,Let’s Encrypt 可能会忽略请求中的吊销原因并将原因设置为“keyCompromise”。

superseded
用户在申请新证书以替换其现有证书时,应选择吊销原因“被取代”。

cessationOfOperation

当用户不再拥有证书中的所有域名或由于停止网站而不再使用证书时,应选择吊销原因“停止运营”。
如果吊销请求来自未请求相关证书但已证明对证书中所有标识符的控制权的用户帐户,Let’s Encrypt 可能会忽略请求中的吊销原因并将原因设置为“cessationOfOperation”。

相关:

    • certbot 使用文档
    • certbot-dns-tencentcloud
    • 吊销证书
    • Certbot

相关文章:

  1. 重新安装 Windows 服务器管理器 Windows Server 2019 需要重新安装 IIS,谁知在安装后,服务器管理器找不到了,“......
  2. Navicat 模型提示:名“”已被采用。请选择一个不同的名 在设计模型时,如果相应的表已存在,则会提示:Navicat 模型 报:名“”已被采用。请选择一个不同......
  3. BT 面板 MySQL 修复 has the wrong structure or is missing MySQL 未知原因造成停止服务,查看日志时,发现: [Warning] Optional nati......
  4. Windows 下的 rsync rsync 工具是很方便的文件同步工具,在 Windows 下可以使用 cwrsync。...
其它 操作系统

文章导航

Previous post
Next post

近期文章

  • Android Studio Gradle 配置国内镜像
  • 为什么重新发明轮子
  • ruoyi-vue-pro 匿名访问
  • VUE 中接收 code 异常
  • 关于 AI

归档

  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
除非特殊说明,本站作品采用知识共享署名 4.0 国际许可协议进行许可。
豫公网安备 41010402002622号 豫ICP备2020029609号-3
©2025 3Vshej