[web建站]-简单通过letsencrypt配置HTTPS证书

简单通过letsencrypt配置HTTPS证书

注意: 使用的是Let's encrypt证书,主要是为了能稍微提高一下个人网站的安全性,实际商用建议还是去相关服务提供商上使用付费证书, 这样更有保障些

参考来源

  1. let's encrypt官网指引

准备生成证书环境

废话:生成letsencrypt的HTTPS证书现在变得比以前简单多了. 之前配置它的证书除了通过命令生成证书, 应用的时候要手动改tomcat的web.xml配置(好像是这个来着), 然后改完之后还要上阿里云上手动添加域名解析记录,添加完之后还要验证. 然后现在重新租了一台服务器之后发现, 现在简单到飞起. 害, 不说那么多废话了.

  1. 进入let's encrypt官网,地址在上面参考来源里
  2. 主页的Get-started ---> 使用简体中文阅读此文档
  3. 这里集成letsencrypt基于两种情况
    3.1 一种是通过命令行进行配置,
    3.2 另外一种是通过服务提供商的配置入口去配置证书, 这要看服务提供商支不支持.

因为是个人网站用, 所以符合第一种情况, 使用certbot客户端进行生成

查看证书生成所需条件

  1. 进入certbot官网
  2. 在主页选择网站运行环境, 我这是nginx+centos8, 选择完成之后会生成基于选择的环境, 事先需要准备好的条件
  3. 确认好拥有对应的权限之后 即可开始按照下方指引开始安装certbot以及生成对应的证书了

安装snapd

用来安装certbot

  1. 安装方式参考snapd官网

  2. 看下自己服务器系统版本在不在snapd预装系统列表里面

    就是说比如ubuntu20.04LTS以及Ubuntu18.04LTS以及ubuntu20.10,ubuntu21.04是有预装的,但是centos以及ubuntu其它版本就没有预装这玩意, 需要我们自己安装

  3. centos安装snapd

    这里一定要注意是centos8 还是centos7, 版本不对安装之后会有问题

    选择centos, 进入centos安装snapd指引页面
    可以看到对应的有centos8 和 centos7 安装EPEL 仓库的指引

    因为系统是centos8的, 所以执行

    sudo dnf install epel-release
    sudo dnf upgrade
    

    安装snapd yum install snapd
    安装完成之后,需要启用管理snap通信的systemd unit sudo systemctl enable --now snapd.socket
    建立snap的软链接 sudo ln -s /var/lib/snapd/snap /snap (丢/usr/bin /usr/local/bin里面也行)

    安装完成, 有问题参考snapd官网, 上面有对应异常的处理方式, 之前配的centos7的EPEL仓库, 导致安装一直报localhost找不到对应的snapd

  4. 更新snapd版本 sudo snap install core; sudo snap refresh core

生成并使用证书

  1. 安装certbot: sudo snap install --classic certbot
  2. 建立certbot软链接 sudo ln -s /snap/bin/certbot /usr/bin/certbot
  3. 生成以及安装证书 sudo certbot --nginx 只需要等它慢慢安装就好了, 安装会自动在nginx.conf里面配置相应的证书
    3.1 或者只生成证书 sudo certbot certonly --nginx
  4. 测试自动更新证书 sudo certbot renew --dry-run

安装certbot时会有一个cron任务或者systemd计时器, 这个会在证书过期之前自动更新证书, 配置完成之后就不用再跑一次了

posted @ 2022-01-27 09:51  你啊347  阅读(187)  评论(0编辑  收藏  举报