「Certbot」- 安装及简配

更新日期:2020年03月25日

内容简介

本文将介绍如何安装Certbot工具,如何使用它获取证书,如何处理在操作过程中遇到的问题。

本部分内容属于简述,详细内容请参考 certbot instructions 官方页面,依据提示操作即可。

以下是操作大致流程:
(1)选择站点服务器软件,以及操作系统发行版
(2)查看是否满足条件
(3)依据提示安装软件包
(4)执行命令生成证书
(5)访问站点以检查证书是否生效
(6)添加定时任务以实现证书自动续期

CentOS 7.4 and Certbot 1.0.0

#!/bin/sh

################################################################################
# 安装 Certbot 工具
################################################################################

# 安装相关软件包
yum install -y epel-release
yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

# 安装并获取证书
yum install certbot python2-certbot-nginx

################################################################################
# 申请证书并配置
################################################################################

# 申请 Nginx 证书
certbot --nginx 
# certbot certonly --nginx # 仅仅生成证书,不修改配置

# 配置证书自动续期
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" \
    | tee -a /etc/crontab > /dev/null

################################################################################
# 验证配置正确
################################################################################

# 访问站点确认 HTTPS 是否生效

Debian 8 (jessie)

#!/bin/sh

################################################################################
# 安装 Certbot 工具
################################################################################

apt-get remove certbot
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

################################################################################
# 申请证书并配置
################################################################################

# 申请证书
/usr/local/bin/certbot-auto --nginx
# /usr/local/bin/certbot-auto certonly --nginx # 或者仅仅生成证书,不修改配置

# 配置证书自动续期
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew" \
    | tee -a /etc/crontab > /dev/null

################################################################################
# 验证配置正确
################################################################################
# 访问站点确认HTTPS是否生效

常见问题汇总

#1 卡在 installing python packages 步骤
no response "Installing Python packages" #2516
问题描述:在Debian中,执行/usr/local/bin/certbot-auto --nginx命令后,它会调用pip命令安装相关Python包,这是时候会卡住。
问题原因:在执行pip命令时,它访问官方仓库,由于网络原因导致无法正常快速下载。
解决办法:修改$HOME/.pip/pip.conf文件,配置如下内容(使用阿里云镜像):

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

附加说明

自动重启服务

在自动证书续期后,可能需要重启服务以加载证书:

#!/bin/sh

certbot -q renew --renew-hook "/etc/init.d/nginx reload"

参考文献



Backlinks: 00.INDEX Kubernetes and Docker:02.Docker Registry:Harbor:1.Installation

ToC

内容简介

CentOS 7.4 and Certbot 1.0.0

Debian 8 (jessie)

常见问题汇总

附加说明

自动重启服务

参考文献