1375 字
7 分钟

ICP 备案通过后:阿里云 ECS 建站完整配置与 Nginx HTTPS 部署

收到工信部备案通过的短信后,网站才能正式上线。这篇从域名解析开始,走完 Nginx 安装、HTTPS 证书申请、反代配置和备案号展示的完整流程。

如果还没完成 ICP 备案,先看 阿里云 ICP 备案全流程


第一步:域名解析到 ECS#

备案通过前不能做这一步——域名解析到境内服务器被检测到会影响审核。收到通过短信后再操作。

进入阿里云域名控制台 → 解析设置,添加两条 A 记录:

记录类型主机记录记录值TTL
A@ECS 公网 IP10 分钟
AwwwECS 公网 IP10 分钟

TTL 先设 10 分钟,调试期间改起来快。上线稳定后改为 10 分钟或更长。

Terminal window
# 验证解析是否生效(本地执行)
dig +short your-domain.com
# 输出 ECS 公网 IP 说明解析已生效

第二步:安装 Nginx#

SSH 登录 ECS,安装 Nginx:

Terminal window
sudo apt update
sudo apt install -y nginx
# 确认 Nginx 已启动
sudo systemctl status nginx
# 看到 active (running) 说明正常
# 设置开机自启
sudo systemctl enable nginx

此时用浏览器访问 http://your-domain.com,能看到 Nginx 默认欢迎页,说明域名解析和 Nginx 均正常。


第三步:申请阿里云免费 SSL 证书#

阿里云提供免费的 DV 证书(有效期 3 个月,可以重复申请),不需要信用卡。

  1. 进入阿里云控制台,搜索 SSL 证书
  2. 点击免费证书,选个人测试证书(免费版)
  3. 填入域名(your-domain.com),证书类型选 RSA 2048
  4. 验证方式选文件验证DNS 验证

DNS 验证方式(推荐)#

选 DNS 验证后,阿里云给出一条 TXT 记录:

记录类型主机记录记录值
TXT_dnsauth阿里云给出的验证值

在域名解析控制台添加这条记录,等待几分钟后回到证书控制台点验证。验证通过后证书签发,通常几分钟内完成。

下载并上传证书#

证书签发后,选 Nginx 格式下载,得到两个文件:

your-domain.com.pem # 证书链
your-domain.com.key # 私钥

上传到 ECS:

Terminal window
# 本地执行,替换路径和 IP
scp your-domain.com.pem root@your-ecs-ip:/etc/nginx/ssl/
scp your-domain.com.key root@your-ecs-ip:/etc/nginx/ssl/
# 在 ECS 上创建目录(如果不存在)
sudo mkdir -p /etc/nginx/ssl
sudo chmod 700 /etc/nginx/ssl

第四步:配置 Nginx#

静态网站#

适合 Mintlify 导出的静态文件、纯 HTML/CSS 站点:

Terminal window
sudo nano /etc/nginx/sites-available/your-domain.com
server {
listen 80;
server_name your-domain.com www.your-domain.com;
return 301 https://your-domain.com$request_uri;
}
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/nginx/ssl/your-domain.com.pem;
ssl_certificate_key /etc/nginx/ssl/your-domain.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
root /var/www/your-domain.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
# www 跳转到根域名
server {
listen 443 ssl;
server_name www.your-domain.com;
ssl_certificate /etc/nginx/ssl/your-domain.com.pem;
ssl_certificate_key /etc/nginx/ssl/your-domain.com.key;
return 301 https://your-domain.com$request_uri;
}

反向代理(Node.js / Python 应用)#

应用监听本地端口(如 3000),Nginx 做反代:

server {
listen 80;
server_name your-domain.com www.your-domain.com;
return 301 https://your-domain.com$request_uri;
}
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/nginx/ssl/your-domain.com.pem;
ssl_certificate_key /etc/nginx/ssl/your-domain.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

启用配置#

Terminal window
# 启用站点配置
sudo ln -s /etc/nginx/sites-available/your-domain.com /etc/nginx/sites-enabled/
# 测试配置语法
sudo nginx -t
# 输出 syntax is ok 和 test is successful 才能继续
# 重载 Nginx
sudo systemctl reload nginx

第五步:展示备案号(合规要求)#

备案通过后,网站首页底部必须展示工信部备案号,并链接到 beian.miit.gov.cn。这是工信部的强制要求,不展示属于违规,阿里云会定期巡检。

在页面 HTML 的 <footer> 里添加:

<footer>
<a href="https://beian.miit.gov.cn" target="_blank" rel="noopener">
京ICP备XXXXXXXX号
</a>
</footer>

备案号格式为省份缩写 + ICP备 + 数字 + 号,在阿里云备案控制台或工信部网站 beian.miit.gov.cn 上可以查到你的备案号。

如果网站还涉及公安备案(有互动功能的网站需要),在备案号旁边同样展示公安备案号和图标。


验证清单#

Terminal window
# 1. HTTP 是否跳转到 HTTPS
curl -I http://your-domain.com
# 应看到 301 和 Location: https://your-domain.com/
# 2. HTTPS 是否正常
curl -I https://your-domain.com
# 应看到 200
# 3. www 是否跳转到根域名
curl -I https://www.your-domain.com
# 应看到 301 和 Location: https://your-domain.com/
# 4. 证书是否有效
curl -vI https://your-domain.com 2>&1 | grep -E "SSL|subject|expire"

常见问题#

Nginx 配置测试通过但网站打不开,报 502#

502 表示 Nginx 能收到请求,但后端应用没在运行或端口不对。检查:① 应用是否在运行(ps aux | grep node);② 应用监听的端口是否和 proxy_pass 里一致;③ ECS 安全组是否放行了 80 和 443 端口。

阿里云 ECS 安全组需要放行哪些端口?#

最少需要放行:22(SSH)、80(HTTP)、443(HTTPS)。在 ECS 控制台 → 安全组 → 入方向,添加这三条规则。安全组和 ufw 是两层控制,两处都要放行。

免费 SSL 证书 3 个月后怎么续期?#

阿里云免费证书到期前 30 天会发邮件提醒。到期前重新申请一张新证书,下载后替换 /etc/nginx/ssl/ 下的两个文件,执行 sudo systemctl reload nginx 即可。整个操作不超过 10 分钟,不影响网站运行。

备案号在哪里查?#

登录阿里云备案控制台,在”我的备案”列表里找到对应域名,备案号显示在域名旁边。也可以在工信部官网 beian.miit.gov.cn 搜索域名查询。

网站上线后阿里云会检查备案号展示吗?#

会。阿里云有自动巡检系统,定期抓取页面检查备案号是否展示。未展示的会收到整改通知,限期内不整改可能被暂停服务或注销备案。

本文最后更新于 2026-04,测试环境:Ubuntu 22.04 LTS,Nginx 1.24。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
ICP 备案通过后:阿里云 ECS 建站完整配置与 Nginx HTTPS 部署
https://www.yuntier.com/posts/site-ops/aliyun-setup/
作者
瓦叔
发布于
2026-04-09
许可协议
CC BY-NC-SA 4.0

评论区

评论已按需延迟加载

滚动到评论区附近或点击按钮后,再加载 Waline 脚本与请求。

评论尚未加载
Profile Image of the Author
瓦叔
准奶爸 / 10年后端+5年运维 / 建站防坑老司机
欢迎
建站笔记持续更新中,实测验证,防坑为主。欢迎收藏!
分类
标签
站点统计
文章
36
分类
4
标签
152
总字数
66,278
运行时长
0
最后活动
0 天前

目录