美文网首页
快速安装免费SSL证书

快速安装免费SSL证书

作者: x0e | 来源:发表于2022-03-16 19:21 被阅读0次
前言

为了网络数据的传输安全 , 越来越多的网站使用了HTTPS协议 , 并且主流浏览器也会对未启用HTTPS协议的网站进行了不安全标记 , 所以升级HTTPS协议成为了一种趋势 。

升级HTTPS协议 , 首先需要通过证书机构(CA)申请颁发SSL/TLS证书 , 因为SSL证书价格比较昂贵 , 很多人会选择使用免费的颁发机构进行证书生成 , 本文我们通过 Let's Encrypt 进行证书颁发 。

Let's Encrypt 介绍

Let's Encrypt 是由 非营利性Internet 安全研究小组 (ISRG) 提供的免费、自动化和开放的证书颁发机构。

从 Let's Encrypt 获得证书 , 官方提供了两种方式进行证书获取 :

推荐大家使用ACME客户端 , 本文借助工具 acme.sh 从 Let's Encrypt 生成免费 TLS 证书并进行安装 。

安装工具
  • 安装 acme.sh

    [root@example ~]# curl  https://get.acme.sh | sh
    # 或者
    [root@example ~]# wget -O -  https://get.acme.sh | sh
    
  • 验证是否安装成功

    [root@example ~]# acme.sh -v
    https://github.com/acmesh-official/acme.sh
    v3.0.2
    
  • 开启自动更新

    由于 acme 协议和 Let's Encrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步. 建议开启自动更新

    [root@example ~]# acme.sh --upgrade --auto-upgrade 
    
生成证书
  • webroot 模式

    [root@example ~]# acme.sh --issue -d domain.com --webroot /data/wwwroot/domain.com/
    
  • 其他模式请参考 https://wiki.acme.sh
安装证书
  • Nginx 安装

    [root@example ~]# acme.sh --install-cert -d domain.com \
    --key-file /usr/local/nginx/conf/ssl/domain.com.key \ 
    --fullchain-file /usr/local/nginx/conf/ssl/domain.com.crt \
    --reloadcmd "service nginx force-reload"
    
  • Apache 安装

    [root@example ~]# acme.sh --install-cert -d example.com \
    --cert-file      /usr/local/apache/conf/ssl/cert.pem  \
    --key-file       /usr/local/apache/conf/ssl/key.pem  \
    --fullchain-file /usr/local/apache/conf/ssl/fullchain.pem \
    --reloadcmd     "service apache2 force-reload" 
    
  • 更新证书

    [root@example ~]# acme.sh --renew -d domain.com
    
定时任务
  • 添加定时任务
    # 进入编辑模式
    [root@example ~]# crontab -e
    # 手动添加定时任务
    43 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
    # :wq 保存退出
    
  • 查看定时任务
    [root@example ~]# crontab -l
    43 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
    

相关文章

网友评论

      本文标题:快速安装免费SSL证书

      本文链接:https://www.haomeiwen.com/subject/qrypdrtx.html