服务器-免费获取域名证书

2023-03-06 13:22:18 浏览数 (1)

前言

免费获取证书的提供者是“Let’s Encrypt”,它的工作方式详情可参阅官方文档“《Let’s Encrypt的运作方式》”。

服务器证书一般用于提供WEB服务,在申请证书前应当有一个合法(备案过)的域名。在开始前,请确保自己已经拥有域名,且已经在DNS上与自己的服务器绑定。

以操作系统“CentOS 8”进行演示,想了解其它系统的操作,可参阅最后面的“资源”章节。

准备操作

1. SSH到你的服务器

代码语言:javascript复制
ssh user@your_sever_domain

2. 安装snpad

代码语言:javascript复制
# 1. 安装EPEL仓库
sudo dnf install epel-release
sudo dnf upgrade

# 2. 安装snpd
sudo yum install snapd

# 3. 设置snpd开机自启动
sudo systemctl enable --now snapd.socket

# 4. 为了兼容旧版本的snpad,需要创建符号连接
sudo ln -s /var/lib/snapd/snap /snap

# 5. 更新snap
sudo snap install core; sudo snap refresh core

3. 安装certbot

代码语言:javascript复制
# 1. 删除系统内置的certbot
sudo dnf remove certbot

# 2. 安装certbot
sudo snap install --classic certbot

# 3. 利用符号链接完成certbot的安装;保证可以直接在终端执行命令
sudo ln -s /snap/bin/certbot /usr/bin/certbot

获取证书

代码语言:javascript复制
# 执行前需要确保80端口未被占用,下方的domain是想要获取证书的域名;
# 格式为:sudo certbot certonly --standalone -d <domain>
sudo certbot certonly --standalone -d example.domain.cn

# 证书将被安装在目录“/etc/letsencrypt/live/”下;
# 用ls查看一下,能看到“example.domain.cn”目录
ls -l /etc/letsencrypt/live/

# 查看一下目录中的文件;有以下文件:
# cert.pem      => 服务器证书
# chain.pem     => 中间证书
# fullchain.pem => 将中间证书和服务器证书放到一起的完整证书链,一般我们使用的是该文件
# privacy.pem   => 私钥
ls -l /etc/letsencrypt/live/example.domain.cn/

自动更新证书

代码语言:javascript复制
# 测试自动更新功能是否可用
sudo certbot renew --dry-run

# 开启自动更新
sudo certbot renew

资源

  • 《官方CentOS 8安装手册》:通过此页面可以跳转到其他操作系统的安装手册。

0 人点赞