售前咨询400-838-0503

Linux云服务器如何配置SSL证书(Let's Encrypt)?

发布:2025-04-04 00:40

搜索全部帮助分类的文档

手把手教你为Linux云服务器配置Let's Encrypt免费SSL证书

在当今互联网环境中,SSL证书已成为网站标配。Let's Encrypt作为免费、自动化的证书颁发机构(CA),让每个网站都能轻松实现HTTPS加密。本文将详细介绍在Linux云服务器上通过Certbot工具获取并安装Let's Encrypt SSL证书的全过程。

一、准备工作

  • 拥有域名并完成DNS解析(A记录指向服务器IP)
  • root权限的Linux云服务器(本文以Ubuntu 20.04为例)
  • 已安装并运行的Web服务(如Nginx/Apache)
  • 开放80和443端口(Let's Encrypt验证需要)

二、安装Certbot客户端

Certbot是Let's Encrypt官方推荐的证书管理工具:

# 更新软件包列表
sudo apt update

# 安装Certbot及其Nginx插件(Apache用户替换为python3-certbot-apache)
sudo apt install certbot python3-certbot-nginx -y

三、获取SSL证书

两种常用验证方式(任选其一):

方式1:Webroot验证(需网站已上线)

sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com

方式2:独立验证(无需Web服务运行)

sudo certbot certonly --standalone -d example.com -d www.example.com

成功后会显示证书存储路径:
/etc/letsencrypt/live/example.com/

四、配置Web服务器

Nginx配置示例:

server {
    listen 443 ssl;
    server_name example.com www.example.com;
    
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    
    # 其他配置...
}

# HTTP强制跳转HTTPS
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

测试并重载配置:

sudo nginx -t
sudo systemctl reload nginx

五、证书自动续期

Let's Encrypt证书有效期为90天,建议设置自动续期:

# 测试续期命令
sudo certbot renew --dry-run

# 添加定时任务(每月1号凌晨3点执行)
(crontab -l 2>/dev/null; echo "0 3 1 * * /usr/bin/certbot renew --quiet") | crontab -

六、常见问题解决

  • 验证失败:检查域名解析是否正确,80端口是否开放
  • 证书不生效:确认Web服务器配置正确,443端口开放
  • 续期失败:检查certbot日志/var/log/letsencrypt/

七、安全增强建议

配置完成后,建议:

  1. 启用HSTS头部(增加安全性)
  2. 配置TLS 1.2/1.3,禁用不安全的加密套件
  3. 定期检查证书状态(certbot certificates)

通过以上步骤,您的网站已获得专业级的HTTPS加密保护。Let's Encrypt的自动化特性让SSL证书管理变得前所未有的简单,建议所有网站管理员都尽快部署。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单