Skip to main content
收到工信部备案通过的短信后,网站才能正式上线。这篇从域名解析开始,走完 Nginx 安装、HTTPS 证书申请、反代配置和备案号展示的完整流程。 如果还没完成 ICP 备案,先看 阿里云 ICP 备案全流程

第一步:域名解析到 ECS

备案通过前不能做这一步——域名解析到境内服务器被检测到会影响审核。收到通过短信后再操作。 进入阿里云域名控制台 → 解析设置,添加两条 A 记录:
记录类型主机记录记录值TTL
A@ECS 公网 IP10 分钟
AwwwECS 公网 IP10 分钟
TTL 先设 10 分钟,调试期间改起来快。上线稳定后改为 10 分钟或更长。
# 验证解析是否生效(本地执行)
dig +short your-domain.com
# 输出 ECS 公网 IP 说明解析已生效

第二步:安装 Nginx

SSH 登录 ECS,安装 Nginx:
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:
# 本地执行,替换路径和 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 站点:
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;
    }
}

启用配置

# 启用站点配置
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 上可以查到你的备案号。 如果网站还涉及公安备案(有互动功能的网站需要),在备案号旁边同样展示公安备案号和图标。

验证清单

# 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"

常见问题

502 表示 Nginx 能收到请求,但后端应用没在运行或端口不对。检查:① 应用是否在运行(ps aux | grep node);② 应用监听的端口是否和 proxy_pass 里一致;③ ECS 安全组是否放行了 80 和 443 端口。
最少需要放行:22(SSH)、80(HTTP)、443(HTTPS)。在 ECS 控制台 → 安全组 → 入方向,添加这三条规则。安全组和 ufw 是两层控制,两处都要放行。
阿里云免费证书到期前 30 天会发邮件提醒。到期前重新申请一张新证书,下载后替换 /etc/nginx/ssl/ 下的两个文件,执行 sudo systemctl reload nginx 即可。整个操作不超过 10 分钟,不影响网站运行。
登录阿里云备案控制台,在”我的备案”列表里找到对应域名,备案号显示在域名旁边。也可以在工信部官网 beian.miit.gov.cn 搜索域名查询。
会。阿里云有自动巡检系统,定期抓取页面检查备案号是否展示。未展示的会收到整改通知,限期内不整改可能被暂停服务或注销备案。
本文最后更新于 2026-04,测试环境:Ubuntu 22.04 LTS,Nginx 1.24。