为站点域名申请加密证书:
若没有 add-apt-repository
命令则先安装:
$ vim /etc/apt/sources.list
在文件后面追加:
deb http://ftp.debian.org/debian stretch-backports main
安装 dirmng
包:
$ apt-get install -y software-properties-common
$ apt install dirmng
添加 cerbot
ppa 源:
$ add-apt-repository ppa:certbot/certbot
安装 python-certbot-nginx
:
$ apt-get install python-certbot-nginx
编辑 /etc/nginx/sites-available/default
文件,修改server_name为需要申请ssl证书的域名:
. . .
server_name jokey.xyz;
. . .
重载 nginx
服务配置文件:
$ systemctl reload nginx
通过 nginx
的方式生成授权证书:
$ certbot --authenticator standalone --installer nginx -d jokey.xyz \
--pre-hook "service nginx stop" --post-hook "service nginx start"
等待申请流程跑成功,就可以使用 https://jokey.xyz/ 访问站点了。
更新站点域名加密证书:
尝试更新加密证书是否能成功:
$ certbot renew --dry-run
使用 crond
定时任务可实现自动化证书更新:
$ vim /etc/cron.d/cerbot
编辑输入以下配置内容:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew
增加定时任务配置后,重载 crond
服务:
$ service crond reload