配置 Nginx 反向代理和 Ngrok 内网穿透支持

- 添加 Nginx 反向代理配置(支持 ngrok 域名)
- 创建统一的 API 工具函数(自动适配域名)
- 更新前端 API 配置支持相对路径
- 配置支付宝回调地址使用 ngrok URL
- 优化 Docker Compose 配置(仅暴露 80 端口)
- 添加完整的部署和配置文档
This commit is contained in:
AIGC Developer
2025-11-03 18:09:23 +08:00
parent 149b201300
commit d5f7569a3a
21 changed files with 2167 additions and 10 deletions

72
demo/CHECK_CONFIG.md Normal file
View File

@@ -0,0 +1,72 @@
# ✅ 配置检查清单
## 已完成的检查
### 1. Nginx 配置 ✅
-`nginx/nginx.conf` 语法正确
- ✅ upstream backend 配置正确
- ✅ proxy_pass 指向正确(`http://backend`
- ✅ 前端静态文件路径正确(`/usr/share/nginx/html`
- ✅ API 代理路径正确(`/api/``backend:8080`
### 2. Docker Compose 配置 ✅
- ✅ 服务定义完整mysql, backend, nginx
- ✅ 网络配置正确app-network
- ✅ 卷映射正确
- ✅ 依赖关系正确nginx depends_on backend, backend depends_on mysql
### 3. Dockerfile 配置 ✅
-`Dockerfile.backend` 包含 wget用于健康检查
-`nginx/Dockerfile` 配置正确
- ✅ 多阶段构建配置正确
### 4. 环境变量配置 ✅
- ✅ docker-compose.yml 中环境变量与 application-prod.properties 匹配
- ✅ 数据库连接字符串正确
### 5. 文件路径检查 ✅
-`frontend/dist` 目录存在(前端构建产物)
-`pom.xml` 存在(后端构建文件)
## 潜在问题及修复
### 已修复的问题
1.**后端健康检查缺少 wget**
- 修复:在 Dockerfile.backend 中添加 `RUN apk add --no-cache wget`
2.**环境变量不匹配**
- 修复:将 `SPRING_DATASOURCE_*` 改为 `DB_*` 以匹配 application-prod.properties
## 部署前检查清单
在运行 `docker-compose up` 之前,请确保:
- [ ] 前端已构建:`cd frontend && npm run build`
- [ ] Docker 和 Docker Compose 已安装
- [ ] 端口 80、8080、3306 未被占用
- [ ] 有足够的磁盘空间(至少 2GB
## 验证命令
```bash
# 检查 Docker Compose 配置
docker-compose config
# 检查服务状态
docker-compose ps
# 查看日志
docker-compose logs -f nginx
docker-compose logs -f backend
# 测试 Nginx 配置
docker exec demo-nginx nginx -t
```
## 访问地址
部署成功后:
- 🌐 前端http://localhost
- 🔗 APIhttp://localhost/api
- 🏥 健康检查http://localhost/health