阿里云 ECS + Nginx 配置 HTTPS 完整教程(Let's Encrypt 免费证书)

本文介绍在阿里云 ECS(Linux)+ Nginx 环境下,用 Let’s Encrypt 免费证书开启 HTTPS 的完整流程。全程免费,证书自动续期,适合企业官网、博客和一般业务系统。

前置条件

  • 一台阿里云 ECS,安全组已放行 80 和 443 端口(控制台 → 安全组 → 配置规则)
  • 域名已解析到这台 ECS(ping yourdomain.com 返回 ECS 公网 IP)
  • 已安装 Nginx 并能通过 HTTP 访问网站
  • 域名已完成 ICP 备案(国内节点必需)

第一步:安装 certbot

以 Ubuntu/Debian 为例:

sudo apt update
sudo apt install -y certbot python3-certbot-nginx

CentOS / Alibaba Cloud Linux:

sudo yum install -y certbot python3-certbot-nginx

第二步:一键申请并部署证书

certbot 会自动修改 Nginx 配置并reload:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

按提示输入邮箱,同意条款,选择「Redirect」(强制 HTTPS 跳转)即可。看到 Congratulations 就说明证书已部署完成。

第三步:确认 Nginx 配置

certbot 生成的关键配置大致如下(位于站点配置文件中):

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;

    ssl_certificate     /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    include             /etc/letsencrypt/options-ssl-nginx.conf;

    root /var/www/yourdomain;
    index index.html index.php;
    location / { try_files $uri $uri/ =404; }
}

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$host$request_uri;
}

重点检查两个地方:

  1. 80 端口的 return 301:所有 HTTP 访问必须 301 到 HTTPS,这关系到 SEO 权重交接
  2. 证书路径:fullchain.pem 是完整证书链,不要只配 cert.pem,否则部分手机浏览器会报错

第四步:验证自动续期

Let’s Encrypt 证书有效期 90 天,certbot 安装后自带定时任务。手动验证续期流程(不会真的续,只是演练):

sudo certbot renew --dry-run

看到 Congratulations, all simulated renewals succeeded 即可。可以再确认定时器在跑:

systemctl list-timers | grep certbot

常见问题排查

「Failed authorization procedure」验证失败:九成是 80 端口不通。检查安全组是否放行 80,以及域名解析是否指向本机。

配完还是提示不安全:通常是混合内容——页面里还有 http:// 的图片或脚本。浏览器 F12 → Console 里会列出具体是哪个资源,逐个改成 https:// 或相对路径。

部分手机打不开:证书链不完整,确认用的是 fullchain.pem 而不是 cert.pem。

「证书域名不匹配」:申请时只带了 yourdomain.com,访客却走 www.yourdomain.com。两个都要写进 -d 参数,或者干脆用通配符证书。

不想自己动手?

这套流程我们每个月都会做很多遍。如果您的环境比较复杂(多个子域名、CDN、虚拟主机面板、老版本系统),或者只是不想折腾,可以看看我们的 HTTPS 升级服务,300 元起,全程人工代办,交付后带售后保障。先用在线检测工具看看您的网站现状也行。

← 返回博客列表

需要人工帮您处理?

先免费检测,再按结果报价;方案确认后才动手,交付后有售后保障期。