Ubuntu 安装免费的SSL证书,强制更新https

一.安装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 的话,需要输入你的邮箱,


image.png

下面会问你同不同意,这个肯定要同意,按照正常人的思维逻辑,就像我们小时候打游戏,不同意,能让你进游戏吗?直接输入 A


image.png

下面这个也需要你同意确认一下,直接输入 Y


image.png

接下来就是选择模式了,选择 2,直接选择2, 会自动配置 HTTPS


image.png

然后打开你的域名,直接看看是不是已经变成HTTPS了。

四.更新证书

由于用的是Let's Encrypt签发的SSL只有90天的有效期,如果使用最新的Cerbot,会自动去Let's Encrypt签发新的证书的,已经把自动基本放在里面了。

sudo certbot renew --dry-run

看看这行代码运行之后有没有什么问题,没有什么问题,就对了,

本文借鉴来自知乎的哥们写的帖子,地址https://zhuanlan.zhihu.com/p/30670334,如果有什么不懂的可以去看一下原贴,谢谢!

你可能感兴趣的:(Ubuntu 安装免费的SSL证书,强制更新https)