Linux 系统下通过 Let‘s Encrypt 生成免费 https 证书的步骤
要在 CentOS 上使用 Certbot 的 webroot 模式获取 HTTPS 证书,你可以按照以下步骤操作:
# 步骤 1: 安装 EPEL 仓库
首先,确保你的 CentOS 系统已经安装了 EPEL 仓库。如果没有安装,可以使用以下命令安装 EPEL 仓库:
sudo yum install epel-release
1
# 步骤 2: 安装 Certbot
接下来,安装 Certbot。你可以使用以下命令来安装 Certbot:
sudo yum install certbot
1
# 步骤 3: 准备 Webroot 目录
Certbot 的 webroot 模式需要一个可写的目录,用于放置验证文件。这个目录通常是你的网站根目录。例如,如果你的网站内容位于 /var/www/html
,那么这个目录就可以作为 webroot 目录。
# 步骤 4: 运行 Certbot 以获取证书
使用以下命令运行 Certbot,并选择 webroot 模式来获取证书:
sudo certbot certonly --webroot -w /usr/local/nginx/www -d yourdomain.com -m your_email@example.com --agree-tos
1
/usr/local/nginx/www
是你的网站根目录的路径。yourdomain.com
是你想要获取证书的域名。your_email@example.com
是你的电子邮件地址,用于接收证书到期通知和重要通知。--agree-tos
表示你同意 Let's Encrypt 的服务条款。
# 步骤 5: 验证证书
在获取证书后,Certbot 会显示一条消息,告诉你证书和链文件存储的位置,通常在 /etc/letsencrypt/live/yourdomain.com/
目录下。你可以检查这个目录,确认证书文件 fullchain.pem
和私钥文件 privkey.pem
是否存在。
# 步骤 6: 配置 Web 服务器使用证书
你需要配置你的 Web 服务器(如 Apache 或 Nginx)以使用新获取的证书。以下是 Nginx 的一个示例配置:
server {
# listen 80;
listen 443 ssl;
#SSL 默认访问端口号为 443
listen 443 ssl;
listen [::]:443 ssl ipv6only=on; # 监听 IPv6 地址上的 443 端口
server_name yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
# ssl_stapling on;
# ssl_stapling_verify on;
underscores_in_headers on; #Nginx 转发时Header中信息不会丢失
# location / {
# proxy_pass http://127.0.0.1:8080;
# }
location / {
root www;
# index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
对于 Apache,配置可能如下:
<VirtualHost *:443>
ServerName yourdomain.com
DocumentRoot "/usr/local/nginx/www"
SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/yourdomain.com/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/yourdomain.com/privkey.pem"
# 其他配置...
</VirtualHost>
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 步骤 7: 重启 Web 服务器
配置完成后,重启你的 Web 服务器以应用新配置:
对于 Nginx:
sudo systemctl restart nginx
1
对于 Apache:
sudo systemctl restart httpd
1
# 步骤 8: 设置自动续期
Certbot 安装过程中会为你设置一个定时任务(cron job),以便自动续期证书。你可以检查这个定时任务是否已经设置:
crontab -l | grep certbot
1
如果看到相关的 cron 任务,说明自动续期已经设置好了。
# 步骤 9: 测试 HTTPS
在获取证书并配置 Web 服务器后,尝试使用浏览器访问你的网站,确保 HTTPS 正常工作。
- 01
- Node与GLIBC_2.27不兼容解决方案08-19
- 02
- Git清空本地文件跟踪缓存08-13