ubuntu18.04 用 cerbot 自动生成 Https 证书

in mini.topia4 years ago

ubuntu18.04 用 cerbot 自动生成 Https 证书

最近需要部署一个服务,当让要支持https。

支持https,就需要SSL证书,当然要选免费的 cerbot 了,不过好像又90天的期限限制,到期后需要续约。

如果是在ubuntu生成和部署SSL,可以考虑借助 nginx 和 crontab 实现自动续期。

查看系统版本:$ cat /etc/issue
Ubuntu 18.04.3 LTS \n \l

安装 certbot 及其 nginx 插件:

$ sudo apt update
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt update
$ sudo apt-get install certbot python-certbot-nginx

生产SSL证书前,先把需要生成SSL的域名,通过域名商网站的管理后台,指向本服务器的IP地址(中间不能经过CDN转发,否则先暂停CDN)。

配置nginx,确保这些域名能够监听80端口,这样才能实现自动添加443端口配置。

使用certbot的nginx插件:$ sudo certbot --nginx

按照提示,一步一步操作即可。
SSL到期前,手动续期: $ sudo certbot renew --dry-run
关于续期,因certbot必须是root身份执行,因此要设置为root的cron任务:

$ sudo su -
# crontab -e

添加一行,设置定时任务(每两个月的1日1时1分):
1 1 1 */2 * /usr/bin/certbot renew --dry-run > /dev/null
使cron生效:$sudo service cron restart

此时用http访问所选中的域名时,会自动跳转到https上,表示设置成功。

本帖同步首发:
steem.buzz ubuntu18.04 用 cerbot 自动生成 Https 证书
hive.blog: ubuntu18.04 用 cerbot 自动生成 Https 证书

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.032
BTC 69947.15
ETH 3908.93
USDT 1.00
SBD 3.71