docs: 部署指南明确单站点架构——compose 映射 8080,1Panel 建一个反代网站(前后端 SDK 同域共用)

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-16 10:18:59 +08:00
parent fe3fcfab07
commit 5f5e64205e
2 changed files with 11 additions and 6 deletions
+10 -5
View File
@@ -68,14 +68,19 @@ docker compose up -d --build
docker compose exec web python manage.py createsuperuser
```
浏览器访问 `http://<服务器IP>/`(有域名先做第 5 步 HTTPS)。
浏览器访问 `http://<服务器IP>:8080/`(配域名后走第 5 步的 HTTPS 网站访问)。
## 5. HTTPS(1Panel 二选一)
## 5. 域名与 HTTPS(1Panel 建一个网站即可,前后端共用)
- **做法一(推荐)**:1Panel「网站」→ 创建网站 → 反向代理到 `http://127.0.0.1:80`,在网站设置里申请 Let's Encrypt 证书并开启 HTTPS。本 compose 的 nginx 只听 80,TLS 由 1Panel 的 OpenResty 终结。
- **做法二**:域名 DNS 直接解析到服务器,1Panel「网站」创建站点直接挂证书(证书路径填入 1Panel 证书管理),也能达到同样效果。
**只需要建 1 个站点**:前端(管理后台)、后端 API、SDK 文件共用同一域名(compose 的 nginx 已合并三者)。
任选其一即可,务实为准。HTTPS 后 SDK endpoint 与后台访问地址同步换成 `https://`。
步骤:1Panel「网站」→ 创建网站 → **反向代理** → 代理地址填 `http://127.0.0.1:8080`(compose 映射端口,见 docker-compose.yml)→ 在该网站设置里申请 Let's Encrypt 证书并开启 HTTPS。
- 前端访问:`https://track.你的域名.com/`
- API:`https://track.你的域名.com/api/...`(同域自动生效)
- SDK:`https://track.你的域名.com/sdk/v1.js`
> 为什么 compose 不直接占 80/443:1Panel 的 OpenResty 已占用宿主 80/443,直接映射会端口冲突。TLS 由 1Panel 网站终结,转发到 compose 的 8080。
## 6. 建站点拿 site_id
+1 -1
View File
@@ -13,7 +13,7 @@ services:
image: nginx:alpine
container_name: tracker-nginx
ports:
- "80:80"
- "8080:80" # 不占宿主 80(1Panel 的 OpenResty 已占用)——由 1Panel 建一个反向代理网站指向 127.0.0.1:8080 并挂证书(README 第 5 节)
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
- ../admin/dist:/var/www/admin:ro