申请免费的SSL证书

为了在网站上启用 HTTPS,我们需要从证书颁发机构(CA)获取证书(一种文件)。 市面上获取证书的方式还是挺多的,这次主要给大家介绍一个我平时比较常用的一种免费的方式:cerbot

操作环境

Ubuntu 22.04

Nginx

使用教程

1. 安装Certbot客户端

sudo apt update
sudo apt install certbot

安装过程我就不放截图了,没什么特别的点,输入电子邮件地址,确认服务条款,一路确认即可。

2. 获取免费证书

certbot certonly --standalone -d example.com

example.com换成你的域名即可。比如域名为 haha.com 那就是 :

certbot certonly --standalone -d haha.com

正常情况:如果顺利,证书和私钥会生成在这。就可以到下一步了。

异常情况

如果没有成功,按我遇到的情况是有两种:(因为是临时想起来写的,所以现在也没有截图)

1. 第一种是报错什么 80端口被占用之类的。这种就只要把nginx停了即可。

systemctl stop nginx

然后再执行上面那步 certbot ...

2. 第二种是 报错 Connection refused 啥的

这时候你要检查一下,你的域名是不是解析到当前服务器。要用域名解析到的那台当前服务器搞这个。然后同样再执行 certbot ...即可。

最后 记得重启nginx 

systemctl start nginx

3. 配置Nginx开启HTTPS

找到你的nginx配置文件。如果你是apt安装的nginx 一般是在 /etc/nginx/nginx.conf

配置如下:配一下证书和私钥的位置。当然 你挪到其他地方也是可以的,记得对上位置即可。

  server {
        listen 443 ssl http2;
        server_name  jinmo-coder.cn www.jinmo-coder.cn;
        # 证书
        ssl_certificate /etc/letsencrypt/live/jinmo-coder.cn/fullchain.pem;
        # 私钥
        ssl_certificate_key /etc/letsencrypt/live/jinmo-coder.cn/privkey.pem;

        location / {
            root   /var/lib/jenkins/workspace/codecabin/.vuepress/dist;
            index  index.html index.htm;
        }
    }

4.  定时刷新证书(可选)

​因为证书的有效期为90天,所以我们需要让这个证书自动去更新,通过执行以下命令,自动检查系统内的证书,并且自动更新这些证书。certbot提供了刷新证书的命令:

certbot renew --dry-run

你可以选择每次来点一下。也可以搞个定时任务Cron:

  1. Cron 服务命令

    # 查看服务状态
    sudo  service cron status
    # 开启服务
    sudo service cron start
    

    检查服务状态,没有启用就开启服务

  2. 修改cron配置 

    crontab -e
    

    image-20240815175738183

    第一次使用要选择编辑工具 我们选择2。然后在文件的尾部添加需要的定时任务

  3.  # 每隔 两个月的 凌晨 2:15 执行 更新操作
    15 2 * */2 * certbot renew

  4. # 检查定时任务是否生效
    crontab -l
    

但是这里面可能会有点问题,就是上面说到的80端口被占用那个问题。那也可以选择执行脚本:

写个脚本:

vim /root/renew_cert.sh

内容可以如下:

#!/bin/bash
systemctl stop nginx  # 停止 Nginx
certbot renew         # 更新证书
systemctl start nginx # 启动 Nginx

赋予执行权限:

chmod +x /root/renew_cert.sh

 上面第三步的renew就改成:

15 2 * */2 * /root/renew_cert.sh

参考地址:

Let's Encrypt之申请免费的SSL证书 | 许谨陌的编程小屋

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值