🚀 1Panel 建站全流程指南:前后端分离项目部署与域名证书配置
📌 第一阶段:基础环境与域名解析
1. 服务器与备案准备
服务器要求:国内服务器必须使用中国大陆节点,且通常要求包年包月(剩余时长 ≥ 3 个月)。
ICP 备案:国内节点强制要求备案。进入云服务商(如阿里云)备案系统,无需提前手动寻找“备案服务码”,在填写正式备案订单选择服务器实例时,系统会自动关联并生成。
2. 域名 DNS 解析配置
为了让域名指向你的服务器,需在云服务商(如阿里云)的“云解析 DNS”控制台添加 A 记录:
记录类型:
A主机记录:填二级域名前缀(如
store代表store.你的域名.com);主域名填@。记录值:填服务器的公网 IP。
TTL:默认 10 分钟。
🔐 第二阶段:云服务商 RAM 授权与 SSL 证书申请
1. 解决证书申请失败(RAM 授权)
现象:1Panel 申请证书时报错 403 Forbidden.RAM(日志提示类似 alidns:DescribeDomains 鉴权失败)。
原因:1Panel 配置的云服务商子账号(RAM 用户)缺少操作 DNS 解析的权限。
解决:登录云服务商“访问控制 RAM”控制台,找到对应的子账号,点击“新增授权”,搜索并勾选 AliyunDNSFullAccess(云解析 DNS 完整管理权限),保存即可。
2. 申请“主域名+泛域名”合并证书
位置:1Panel 左侧菜单 -> 证书 -> 申请证书。
填写规范:
主域名:
你的域名.com其他域名(分行填):
你的域名.com*.你的域名.com验证方式:必须选“DNS 账号”(泛域名不支持 HTTP 验证)。
DNS 账号:选择已授权的云服务商账号。
自动续签:勾选。
说明:泛域名
*.你的域名.com不包含主域名本身,因此需要将主域名也填入“其他域名”框内,实现一张证书保护所有站点。
💡 扩展:一张证书覆盖所有站点的优缺点
好处:一劳永逸,新建子站无需重复申请;规避 Let's Encrypt 申请频率限制;管理清爽。
坏处:一损俱损(私钥泄露或续期失败会导致所有站点瘫痪);无法精细化分配权限;无法针对核心站点单独升级高级证书(如 OV 证书)。
建议:个人/中小型项目强烈推荐使用;大型商业高敏项目建议核心业务单独买证书隔离风险。
💻 第三阶段:网站部署架构(Vue + Java 前后端分离)
前后端分离项目千万不要选“子网站”,应拆分为前端静态页面和后端服务。
1. 部署 Vue 前端(静态网站)
创建:网站 -> 创建 -> 选 “静态网站”。
域名:填
store.你的域名.com。代号:填
store(对应目录/opt/1panel/www/sites/store/index)。HTTPS:勾选,并选择刚才申请的合并证书。
上传:将本地打包的 Vue 文件(
dist里的所有内容)上传至对应的index目录。
2. 部署 Java 后端
后端无需绑定域名。在 1Panel 的“运行环境” -> “Java”中,上传
.jar包并启动(假设运行在8080端口)。
3. 配置反向代理(解决接口请求跨域)
在 Vue 静态网站的设置 -> 反向代理中:
代理名称:
api代理地址:
http://127.0.0.1:8080匹配规则:
/api效果:前端保持 HTTPS 安全连接,Nginx 自动将
/api开头的请求转发给内网 Java 后端。
⚠️ 第四阶段:数据库避坑指南
问题:本地开发用 MySQL,服务器想用 PostgreSQL。
结论:不能直接通用。 驱动、URL、SQL 语法(自增、分页、关键字)、数据类型都存在巨大差异。
建议:为了省去大量排错时间,强烈建议服务器也直接安装 MySQL,代码零修改直接跑。如果必须用 PG,请在本地迁移并全部测试通过后再部署。