Linux-letsencrypt证书制作

田冥夜
2023-12-01

说明

  1. 为你的网站设置免费的通配符ssl证书!
  2. Let’s Encrypt 是国外一个公共的免费 SSL 项目,由 Linux 基金会托管。它的来头不小,由 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织发起,目的就是向网站自动签发和管理免费证书。以便加速互联网由 HTTP 过渡到 HTTPS,目前 Facebook 等大公司开始加入赞助行列。
  3. Let’s Encrypt 已经得了 IdenTrust 的交叉签名,这意味着其证书现在已经可以被 Mozilla、Google、Microsoft 和 Apple 等主流的浏览器所信任。用户只需要在 Web 服务器证书链中配置交叉签名,浏览器客户端会自动处理好其它的一切,Let’s Encrypt 安装简单,使用非常方便。

避免各种问题,请用root身份执行。

1、获取 Certbot 客户端

# 新建目录
$ mkdir /root/certbot && cd /root/certbot

# 下载 Certbot 客户端
$ wget https://dl.eff.org/certbot-auto

# 设为可执行权限
$ chmod a+x certbot-auto

2、申请通配符证书

  • 生成证书

    $ ./certbot/certbot-auto certonly  -d "*.xxx.com" --manual --preferred-challenges dns-01  --server https://acme-v02.api.letsencrypt.org/directory
    

    参数说明

    1. certonly 表示插件,Certbot 有很多插件。不同的插件都可以申请证书,用户可以根据需要自行选择。
    2. -d 为哪些主机申请证书。如果是通配符,输入 *.xxx.com (根据实际情况替换为你自己的域名)。
    3. –preferred-challenges dns-01,使用 DNS 方式校验域名所有权。
    4. –server,Let’s Encrypt ACME v2 版本使用的服务器不同于 v1 版本,需要显示指定。
  • 执行以上命令以后,根据命令行输出依次输入以下值并回车:‘你的邮箱’、‘a’、‘y’、‘y’

  • 此时界面上会生成一条“DNS TXT”记录值,先不要回车!!!到你的域名解析处增加一条TXT记录:

    # 记录(固定):
    _acme-challenge
    
    # 记录类型(固定):
    TXT
    
    # 记录值(随机,根据你的命令行提示):
    OS6cDNZvLDa-qwIOk8oipElwr3WVeJsqSvb0mLPpp_0
    
  • 保证该记录添加成功以后,再回来执行回车继续执行,成功以后会出现类似如下结果:

    IMPORTANT NOTES:
     - Congratulations! Your certificate and chain have been saved at:
       /etc/letsencrypt/live/xxx.com/fullchain.pem
       Your key file has been saved at:
       /etc/letsencrypt/live/xxx.com/privkey.pem
       Your cert will expire on 2018-06-12. To obtain a new or tweaked
       version of this certificate in the future, simply run certbot-auto
       again. To non-interactively renew *all* of your certificates, run
       "certbot-auto renew"
     - If you like Certbot, please consider supporting our work by:
    
       Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
       Donating to EFF:                    https://eff.org/donate-le
    
  • 到了这一步后,恭喜您,证书申请成功。 证书和密钥保存在下列目录:

    $ tree /etc/letsencrypt/live/xxx.com/
    .
    ├── cert.pem
    ├── chain.pem
    ├── fullchain.pem
    └── privkey.pem
    
  • 到你nginx站点去配置ssl吧!

3、证书续期

 类似资料: