访问首页 403
- 可能原因
- 运行目录未指向 dist 或目录权限不足
- 处理方式
- 检查网站目录设置,目录权限设为 755,属主 www
以宝塔 Linux 面板为例,从空服务器到可访问站点。步骤按顺序执行,每一步都给出可验证的检查点,出错时先看文末排查表。

前端为构建后的静态资源,站点根目录指向 dist 即可运行;若配套独立后端服务,再按后端要求准备 PHP 或 Node 运行环境。
| 项目 | 要求 | 说明 |
|---|---|---|
| 操作系统 | CentOS 7+ / Ubuntu 20.04+ / Debian 11+ | 64 位,建议纯净系统 |
| 面板 | 宝塔 Linux 面板 7.x 及以上 | 已安装 Nginx 与 MySQL |
| Web 服务 | Nginx 1.20+ | 静态站点为主,无需 PHP 运行环境 |
| 数据库 | MySQL 5.7 / 8.0 | 若使用独立后端服务则按后端要求配置 |
| 运行目录 | dist | 前端构建产物目录,站点根目录指向此处 |
| 域名解析 | A 记录指向服务器 IP | 国内节点需先完成备案 |
在宝塔面板安装 Nginx 与 MySQL,创建站点并绑定域名。若使用 HTTPS,先在 SSL 页面申请证书并开启强制跳转。
将构建后的 dist 目录内容上传至站点根目录,或直接在服务器上执行构建命令生成 dist。上传完成后确认 index.html 位于站点根目录。
在站点设置 → 网站目录中,把运行目录指定为 dist(若已将 dist 内容直接放入根目录则无需再设)。保存后访问域名,应能看到首页。
打开站点设置 → 伪静态,粘贴下文给出的规则并保存。规则的作用是让 /feature/ 这类目录地址正确回落到对应静态页面,同时补齐安全响应头。
导入数据库结构文件,修改后端服务或接口配置文件中的数据库地址、账号与密钥,重启对应服务后访问后台完成管理员初始化。
登录后台授权页面,填写授权账号并绑定当前域名,确认授权状态正常,随后即可接收版本更新。
在后台填写支付通道商户参数与货源接口密钥,先用最小金额完成一笔真实支付,核对回调与自动发货是否正常。
逐页检查移动端与桌面端呈现、每页 SEO 三要素是否独立、图片是否加载、表单是否可提交,确认无误后开放访问。

打开站点设置 → 伪静态,将下列规则整体粘贴并保存。规则同时补齐了常用安全响应头,若已在面板其他位置配置,请删除重复项以免响应头多次下发。
# ===== 小储云商城系统 · 宝塔伪静态(静态站点版)=====
# 站点根目录 / 运行目录均指向 dist
index index.html;
location / {
# 命中真实文件或目录则直接返回,未命中返回真实 404
# 不要兜底到 /index.html,否则会产生软 404,影响搜索引擎收录
try_files $uri $uri/ =404;
}
# 静态资源长缓存(文件名含哈希指纹,可放心长缓存)
location ~* \.(?:css|js|woff2|webp|png|jpg|jpeg|svg|ico)$ {
expires 30d;
add_header Cache-Control "public, max-age=2592000, immutable";
access_log off;
}
# ===== 安全响应头 =====
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;
add_header Cross-Origin-Opener-Policy "same-origin" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; 若站点根目录已直接放置 dist 内的文件,可将 try_files 一行保留不变,其余按需删除。
强制 HTTPS 并开启 HSTS,避免混合内容告警。
后台路径修改为不易猜测的地址,并限制登录失败次数。
数据库仅允许本机访问,禁止 3306 端口对公网开放。
每日自动备份数据库与附件,备份文件异地留存一份。
及时跟随版本更新,安全补丁不要拖延。
