feat(config): 更新配置以支持HTTPS域名访问
- 将所有环境的前端URL从localhost和IP地址更新为https://shopd.mtkj2025.com - 配置PayPal webhook使用HTTPS域名以满足PayPal安全要求 - 统一后端服务端口从18082调整为8082 - 更新Java代码中的默认URL配置和启动日志信息 - 创建域名配置、Nginx SSL配置和公网访问检查清单文档 - 为商品链接生成和API访问配置HTTPS协议支持
This commit is contained in:
120
PUBLIC_ACCESS_CHECKLIST.md
Normal file
120
PUBLIC_ACCESS_CHECKLIST.md
Normal file
@@ -0,0 +1,120 @@
|
||||
# 公网访问配置检查清单
|
||||
|
||||
## ✅ 已完成的配置修改
|
||||
|
||||
### 1. 后端配置
|
||||
|
||||
#### 端口配置
|
||||
- ✅ `application-dev.yml`: `server.port: 8082`
|
||||
- ✅ `application-prod.yml`: `server.port: ${server.port:8082}`
|
||||
- ✅ `ProductServiceImpl.java`: 默认端口改为 `8082`
|
||||
|
||||
#### 前端URL配置(用于生成商品链接)
|
||||
- ✅ `application-dev.yml`: `app.frontend.url: http://175.178.252.59`
|
||||
- ✅ `application-prod.yml`: `app.frontend.url: ${app.frontend.url:http://175.178.252.59}`
|
||||
- ✅ `mt-startup/application-dev.yml`: `app.frontend.url: http://175.178.252.59`
|
||||
- ✅ `mt-startup/application.yml`: `app.frontend.url: http://175.178.252.59`
|
||||
- ✅ `ProductServiceImpl.java`: 默认值改为 `http://175.178.252.59`
|
||||
- ✅ `ProductLinkServiceImpl.java`: 默认值改为 `http://175.178.252.59`
|
||||
|
||||
#### PayPal Webhook配置
|
||||
- ✅ `application-dev.yml`: `paypal.webhook-url: https://175.178.252.59/api/paypal/webhook`(HTTPS,PayPal要求)
|
||||
|
||||
#### 启动类日志
|
||||
- ✅ `MtPayApplication.java`: 启动日志使用公网地址
|
||||
- ✅ `MtkjpayApplication.java`: 启动日志使用公网地址
|
||||
|
||||
### 2. 前端配置
|
||||
|
||||
#### API地址
|
||||
- ✅ `.env.production`: `VITE_API_BASE_URL=/api`(相对路径,通过Nginx代理)
|
||||
- ✅ `vite.config.js`: 开发环境代理(保留127.0.0.1,仅用于本地开发)
|
||||
|
||||
### 3. 代码注释
|
||||
- ✅ `ProductServiceImpl.java`: 注释中的示例URL已更新为公网地址
|
||||
|
||||
## 📋 部署前检查清单
|
||||
|
||||
### 后端检查
|
||||
- [x] 端口配置为 `8082`
|
||||
- [x] 前端URL配置为 `http://175.178.252.59`(无端口,通过Nginx访问)
|
||||
- [x] PayPal Webhook URL配置为 `https://175.178.252.59/api/paypal/webhook`(HTTPS)
|
||||
- [ ] 重新打包后端:`mvn clean package -DskipTests`
|
||||
- [ ] 上传新的jar包到服务器
|
||||
- [ ] 启动后端服务并确认监听在 `8082` 端口
|
||||
|
||||
### 前端检查
|
||||
- [x] `.env.production` 使用相对路径 `/api`
|
||||
- [ ] 重新构建前端:`npm run build`
|
||||
- [ ] 上传新的dist目录到服务器
|
||||
|
||||
### Nginx配置检查
|
||||
- [ ] `proxy_pass` 端口为 `8082`:
|
||||
```nginx
|
||||
location /api/ {
|
||||
proxy_pass http://127.0.0.1:8082;
|
||||
...
|
||||
}
|
||||
```
|
||||
- [ ] Nginx配置已保存并重载
|
||||
|
||||
### PayPal配置检查
|
||||
- [ ] **Nginx已配置SSL证书(PayPal Webhook必需,只接受HTTPS)**
|
||||
- [ ] PayPal控制台Webhook URL已更新为:`https://175.178.252.59/api/paypal/webhook`
|
||||
|
||||
### 防火墙检查
|
||||
- [ ] 端口 `8082` 已开放(如果需要外部直接访问)
|
||||
- [ ] 端口 `80` 已开放(Nginx前端访问)
|
||||
|
||||
## 🔍 验证步骤
|
||||
|
||||
### 1. 验证后端服务
|
||||
```bash
|
||||
# 在服务器上执行
|
||||
curl http://127.0.0.1:8082/api/health
|
||||
```
|
||||
|
||||
### 2. 验证Nginx代理
|
||||
```bash
|
||||
# 在服务器上执行
|
||||
curl http://127.0.0.1/api/health
|
||||
```
|
||||
|
||||
### 3. 验证商品链接生成
|
||||
- 创建商品后,检查生成的链接是否为:`http://175.178.252.59/product/xxxxx`
|
||||
- 不应包含 `localhost` 或端口号
|
||||
|
||||
### 4. 验证前端访问
|
||||
- 浏览器访问:`http://175.178.252.59`
|
||||
- 检查浏览器控制台(F12)中的API请求
|
||||
- 请求URL应为:`http://175.178.252.59/api/xxx`(通过Nginx代理)
|
||||
|
||||
## ⚠️ 重要提示
|
||||
|
||||
1. **前端URL不需要端口号**
|
||||
- 配置为:`http://175.178.252.59`(不是 `http://175.178.252.59:3000`)
|
||||
- 因为前端通过Nginx访问,默认使用80端口
|
||||
|
||||
2. **后端API配置**
|
||||
- PayPal Webhook通过Nginx HTTPS访问:`https://175.178.252.59/api/paypal/webhook`(Nginx转发到后端8082)
|
||||
- 前端通过Nginx代理访问:`http://175.178.252.59/api/xxx`(Nginx转发到8082)
|
||||
- ⚠️ **重要:** PayPal只接受HTTPS(端口443),必须配置SSL证书
|
||||
|
||||
3. **商品链接生成**
|
||||
- 使用 `app.frontend.url` 配置生成
|
||||
- 格式:`{frontendUrl}/product/{linkCode}`
|
||||
- 示例:`http://175.178.252.59/product/2563c74bd94c4a4b95abccf697a6c756`
|
||||
|
||||
## 📝 修改总结
|
||||
|
||||
所有 `localhost` 和硬编码地址已替换为公网地址 `175.178.252.59`:
|
||||
- ✅ 配置文件中的URL
|
||||
- ✅ Java代码中的默认值
|
||||
- ✅ 启动日志中的提示信息
|
||||
- ✅ 代码注释中的示例
|
||||
|
||||
所有端口已统一为 `8082`:
|
||||
- ✅ 后端服务端口
|
||||
- ✅ PayPal Webhook URL
|
||||
- ✅ 代码中的默认值
|
||||
|
||||
Reference in New Issue
Block a user