跳转到内容

纯静态网站

纯静态网站用于托管 HTML、CSS、JavaScript 等静态文件,适合部署前端项目构建产物、文档站点等。

创建静态网站

  1. 进入 网站 页面
  2. 点击 纯静态 选项卡
  3. 点击 创建网站

配置项

  • 名称:网站标识,必须唯一,仅支持字母、数字、连字符和下划线,例如 docs
  • 域名:绑定的域名,如 docs.example.com
  • 端口:监听端口,默认 80
  • 目录:网站根目录。 若留空,则默认为 网站目录/网站名称/public
  • 备注:可选备注

编辑静态网站

点击网站列表中的 编辑 按钮进入编辑页面。

域名与监听

配置网站的域名和监听地址。 每个监听地址都可以单独启用 HTTPS 和 QUIC(HTTP/3)。

域名和监听配置

基本设置

配置网站目录和默认文档。

高级设置

  • 网站目录:静态文件存放的绝对路径
  • 运行目录:运行目录的绝对路径(静态网站通常无需设置)
  • 默认文档:默认首页文件列表,例如 index.html

HTTPS

HTTPS 选项卡中,你可以为网站启用 TLS 并管理其证书:

  • 总开关:启用或禁用网站 HTTPS 的主开关
  • 使用已有证书:选择一个已在证书管理中托管的证书,自动填入证书和私钥
  • HSTS:强制浏览器仅通过 HTTPS 访问网站
  • HTTP 重定向:自动将普通 HTTP 请求重定向到 HTTPS
  • OCSP Stapling:启用 OCSP Stapling 以加快证书校验速度
  • TLS 版本:允许的 TLS 协议版本(TLS 1.0 / 1.1 / 1.2 / 1.3)
  • 证书 / 私钥:直接粘贴 PEM 证书和 KEY 私钥内容

当至少设置了一个域名时,底部还会提供 一键签发证书 按钮,用于申请免费证书。 如果域名是泛域名(例如 *.example.com),系统会提示你选择一个已在证书管理中配置的 DNS 服务商进行 DNS 验证。

重定向

重定向 选项卡中,你可以添加重定向规则。 点击 添加重定向规则 创建规则:

  • 重定向类型URL 重定向主机重定向404 重定向
  • 状态码301(永久移动)、302(已找到)、307(临时重定向)或 308(永久重定向)
  • :源路径(URL 重定向)或源主机(主机重定向);404 重定向无需填写
  • 目标:目标路径或目标 URL
  • 保留 URI:重定向时保留原始请求路径和查询参数

可以通过拖动手柄对规则重新排序。

高级设置

高级设置 选项卡中,你可以配置访问统计、日志设置、限速、真实 IP 和基础认证。

自定义配置

自定义配置 选项卡中,你可以添加自定义 Nginx 配置,用于 URL 重写等功能。

自定义配置

点击 添加自定义配置 按钮添加配置:

添加自定义配置

  • 名称:配置名称,支持字母、数字、下划线和连字符
  • 范围:配置生效范围,可选择「此网站」或「全局」
  • 内容:Nginx 配置内容,如 location

适用场景

前端项目

Vue、React、Angular 等前端框架的构建产物:

bash
# Vue 项目
npm run build
# 将 dist 目录内容上传到网站目录

# React 项目
npm run build
# 将 build 目录内容上传到网站目录

文档站点

VitePress、Docusaurus、Hugo 等静态站点生成器:

bash
# VitePress
npm run docs:build
# 将 .vitepress/dist 目录内容上传到网站目录

单页应用(SPA)

单页应用需要配置伪静态规则,将所有路由指向 index.html。 在 自定义配置 中添加:

nginx
location / {
    try_files $uri $uri/ /index.html;
}

目录结构

典型的静态网站目录结构:

/opt/ace/sites/网站名称/public
├── index.html         # 首页
├── assets/            # 静态资源
│   ├── css/
│   ├── js/
│   └── images/
├── favicon.ico        # 网站图标
└── ...

常见问题

404 错误

  • 检查文件是否存在于网站目录
  • 检查文件名大小写(Linux 区分大小写)
  • 单页应用需要配置伪静态规则

资源加载失败

  • 检查资源路径是否正确
  • 检查是否使用了绝对路径
  • 检查 CORS 配置

中文文件名乱码

  • 确保文件使用 UTF-8 编码