diff --git a/deploy/README-deploy.md b/deploy/README-deploy.md index ba127dd..f3d787d 100644 --- a/deploy/README-deploy.md +++ b/deploy/README-deploy.md @@ -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 diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index dd6ad6b..efd38f5 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -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