一.安装certbot
1.如果没有安装Nginx的:
sudo apt-get install nginx
如果这个已经安装的忽略。
2.然后添加 package repository
sudo add-apt-repository ppa:certbot/certbot
这个过程中,等待验证完毕,按下 ENTER 就好。然后更新 apt 源数据:
sudo apt-get update
最后,安装 Certbot 的 Nginx package:
sudo apt-get install python-certbot-nginx
二.配置Nginx
安装完 Nginx 和 Certbot 之后,需要简单配置 Nginx 以便于 Let's Encrypt 能起作用:
sudo vi /etc/nginx/sites-available/default
使用 vi 编辑器打开 /etc/nginx/sites-available/default,可以直接删除里面的所有内容,然后再添加下面的配置:
server {
listen 80;
listen [::]:80;
server_name your-domain.com www.your-domain.com;
}
注意这里的 your-domain.com 换成你自己的域名。
保存退出之后,执行以下命令来检测 Nginx 的配置文件是否有错:
sudo nginx -t
如果出现类似 syntax ok 这样的语句,就说明 Nginx 的配置文件没有问题。之后就是重新加载 Nginx 的配置文件了:
sudo service nginx reload
三.签发SSL证书
前面的两大步配置完成,就可以使用 Let's Encrypt 签发 SSL 证书了:
sudo certbot --nginx -d your-domian.com -d www.your-domain.com
这个是两个域名的,记得替换your-domian.com为你的域名,
比如我的域名是chat.rnyum.net
我的命令就是
sudo certbot --nginx -d chat.rnyum.net
如果你第一运行cerbot 的话,需要输入你的邮箱,
下面会问你同不同意,这个肯定要同意,按照正常人的思维逻辑,就像我们小时候打游戏,不同意,能让你进游戏吗?直接输入 A
下面这个也需要你同意确认一下,直接输入 Y
接下来就是选择模式了,选择 2,直接选择2, 会自动配置 HTTPS
然后打开你的域名,直接看看是不是已经变成HTTPS了。
四.更新证书
由于用的是Let's Encrypt签发的SSL只有90天的有效期,如果使用最新的Cerbot,会自动去Let's Encrypt签发新的证书的,已经把自动基本放在里面了。
sudo certbot renew --dry-run
看看这行代码运行之后有没有什么问题,没有什么问题,就对了,