阿里云服务器平台让域名 `abc.com` 支持 HTTPS 所用的方法和步骤

132 阅读2分钟

成功让域名 abc.com 支持 HTTPS 所用的方法和步骤,按逻辑顺序整理,方便复盘或操作记录。


目标

  • abc.com 能通过 HTTPS 安全访问
  • 使用免费的 Let’s Encrypt 证书
  • 支持自动续期

1️⃣ 确认系统环境

  • 系统:Alibaba Cloud Linux 3(基于 RHEL/CentOS)
  • 已备案域名
  • 已配置域名解析到服务器公网 IP
  • HTTP 可以访问服务器(或临时开启 80 端口用于验证)

注意:Snap 在此系统不可用,使用系统自带的 EPEL 或 Certbot 官方二进制。


2️⃣ 安装 Certbot

方法 A:使用系统仓库(推荐)

sudo yum install certbot python3-certbot-nginx -y
  • 不需要额外安装 epel-release,使用系统自带的阿里云 EPEL 仓库即可

方法 B:使用 Certbot 官方二进制(备用)

wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
sudo mv certbot-auto /usr/local/bin/certbot

3️⃣ 申请 Let’s Encrypt 证书

  • 如果已有 HTTP 配置,可以直接使用:
sudo certbot certonly --webroot -w /usr/share/nginx/html -d abc.com -d www.abc.com
  • Certbot 会生成证书,默认路径:
/etc/letsencrypt/live/abc.com/fullchain.pem
/etc/letsencrypt/live/abc.com/privkey.pem
  • 注意:自动安装失败时,证书仍已生成,可以手动配置 Nginx。

4️⃣ 配置 Nginx 使用 HTTPS

编辑 Nginx 配置文件(例如 /etc/nginx/conf.d/default.conf):

方法 :使用 vi(Linux 通用)

sudo vi /etc/nginx/conf.d/default.conf
  • 进入 vi 后:

    • i 进入 编辑模式
    • 修改配置(详见下方👇)
    • 修改完按 Esc,输入 :wq 保存并退出
# HTTP 自动跳转到 HTTPS
server {
    listen 80;
    server_name abc.com www.abc.com;
    return 301 https://$host$request_uri;
}

# HTTPS 配置
server {
    listen 443 ssl;
    server_name abc.com www.abc.com;

    ssl_certificate /etc/letsencrypt/live/abc.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/abc.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

live/... 路径默认指向最新证书,无需使用 archive/... 路径。


5️⃣ 检查并重启 Nginx

sudo nginx -t       # 检查配置是否正确
sudo systemctl restart nginx
  • 浏览器访问 https://abc.com,确认安全锁显示

6️⃣ 配置自动续期

sudo certbot renew --dry-run
  • 输出成功说明自动续期可用
  • 系统默认会定期自动续期,live/... 会自动更新到最新证书

7️⃣ 关键点总结

  • Certbot 自动安装失败不影响使用 → 手动配置 Nginx 即可
  • 确保证书域名与 server_name 完全匹配
  • live/... 是默认路径,符号链接自动指向最新证书
  • 临时 HTTP 配置可用于证书验证
  • HTTPS 配置完成后,HTTP 可自动跳转到 HTTPS
  • 自动续期测试通过即可,无需手动修改 Nginx

最终结果

  • 域名 abc.com 支持 HTTPS
  • 使用 Let’s Encrypt 免费证书
  • Nginx 配置正确,浏览器显示安全锁
  • 自动续期机制到位,保证证书长期有效

流程图或操作步骤表格

image.png

image.png