# 3006端口域名访问配置方案

**配置时间：** 2025年1月28日  
**服务：** Android开发网址管理器（Docker容器，端口3006）  
**服务器IP：** 101.43.95.130

---

## 一、当前服务信息

- **服务类型：** Node.js/Express应用
- **容器名称：** workdizhi-web
- **内部端口：** 3000
- **外部端口：** 3006
- **访问地址：** http://101.43.95.130:3006

---

## 二、配置方案

### 方案一：使用子域名访问（已配置）⭐推荐

**优点：**
- ✅ 访问路径清晰
- ✅ 独立域名，便于管理
- ✅ 不影响主站点
- ✅ SEO友好

**配置的域名：**
- `app.ruilaizipj.com`
- `tool.ruilaizipj.com`

**访问地址：**
- HTTP: `http://app.ruilaizipj.com`
- HTTPS: `https://app.ruilaizipj.com`（自动重定向）

**DNS配置要求：**
需要在DNSPod添加A记录：
```
类型：A
主机记录：app（或tool）
记录值：101.43.95.130
TTL：600
```

**配置文件：** `/etc/nginx/conf.d/workdizhi.conf`

---

### 方案二：使用路径访问（可选）

如果您不想使用子域名，也可以使用路径访问，例如：
- `https://www.ruilaizipj.com/app`
- `https://www.ruilaizipj.com/tool`

**优点：**
- ✅ 不需要额外DNS配置
- ✅ 使用主域名

**缺点：**
- ❌ 路径较长
- ❌ 可能与主站点路由冲突

**配置方法：**
在 `/etc/nginx/conf.d/default.conf` 中添加：

```nginx
# 在 location / 之前添加
location /app {
    proxy_pass http://127.0.0.1:3006;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_cache_bypass $http_upgrade;
}
```

---

## 三、当前配置详情

### 已配置的Nginx反向代理

**配置文件：** `/etc/nginx/conf.d/workdizhi.conf`

**配置内容：**
- ✅ 监听80和443端口
- ✅ 支持HTTP自动重定向到HTTPS
- ✅ 使用与主域名相同的SSL证书
- ✅ 反向代理到 `127.0.0.1:3006`
- ✅ 支持WebSocket（如果需要）
- ✅ 配置了正确的请求头转发

---

## 四、DNS配置步骤

### 在DNSPod添加A记录

1. **登录DNSPod**
   - 访问：https://console.dnspod.cn/
   - 登录您的账号

2. **选择域名**
   - 找到 `ruilaizipj.com` 域名
   - 点击"解析"

3. **添加A记录**
   ```
   记录类型：A
   主机记录：app（或tool）
   记录值：101.43.95.130
   TTL：600（10分钟）
   线路类型：默认
   ```

4. **保存并等待生效**
   - DNS解析通常10分钟内生效
   - 可以使用 `nslookup app.ruilaizipj.com` 检查

---

## 五、测试访问

### 1. 测试本地代理

```bash
# 测试HTTP访问
curl -H "Host: app.ruilaizipj.com" http://127.0.0.1 -I

# 测试HTTPS访问（需要DNS解析生效后）
curl -k -H "Host: app.ruilaizipj.com" https://127.0.0.1 -I
```

### 2. 测试DNS解析

```bash
# 检查DNS解析
nslookup app.ruilaizipj.com

# 或使用dig
dig app.ruilaizipj.com
```

### 3. 浏览器访问

DNS解析生效后，在浏览器访问：
- `https://app.ruilaizipj.com`
- `https://tool.ruilaizipj.com`

---

## 六、SSL证书说明

### 当前使用的证书

- **证书文件：** `/www/server/panel/vhost/cert/101.43.95.130/fullchain.pem`
- **私钥文件：** `/www/server/panel/vhost/cert/101.43.95.130/privkey.pem`
- **域名：** `www.ruilaizipj.com`
- **有效期：** 2026-01-28 至 2026-04-27

### 关于子域名证书

**当前配置：** 子域名使用与主域名相同的证书

**说明：**
- 如果证书支持通配符（`*.ruilaizipj.com`），子域名可以直接使用
- 如果证书不支持通配符，浏览器可能会显示证书警告
- 建议申请支持子域名的证书或单独为子域名申请证书

### 申请子域名SSL证书（可选）

如果需要为子域名单独申请SSL证书：

1. **使用Let's Encrypt（免费）**
   ```bash
   # 使用certbot申请
   certbot certonly --nginx -d app.ruilaizipj.com
   ```

2. **使用宝塔面板申请**
   - 登录宝塔面板
   - 进入"网站" → 添加站点
   - 使用Let's Encrypt一键申请

3. **更新配置文件**
   ```nginx
   ssl_certificate    /path/to/app.ruilaizipj.com/fullchain.pem;
   ssl_certificate_key    /path/to/app.ruilaizipj.com/privkey.pem;
   ```

---

## 七、常见问题

### 1. DNS解析未生效

**症状：** 无法访问子域名

**解决方法：**
- 等待DNS解析生效（通常10分钟内）
- 检查DNS记录是否正确添加
- 使用 `nslookup` 或 `dig` 检查解析结果

### 2. SSL证书警告

**症状：** 浏览器显示"您的连接不是私密连接"

**原因：** 证书不支持子域名

**解决方法：**
- 申请支持子域名的证书（通配符证书）
- 或为子域名单独申请证书

### 3. 502 Bad Gateway

**症状：** 访问返回502错误

**解决方法：**
```bash
# 检查3006端口服务是否运行
netstat -tlnp | grep 3006

# 检查Docker容器状态
docker ps | grep workdizhi-web

# 检查Nginx错误日志
tail -f /var/log/nginx/workdizhi.error.log
```

### 4. 无法访问，但IP:端口可以访问

**症状：** `http://101.43.95.130:3006` 可以访问，但域名无法访问

**解决方法：**
```bash
# 检查Nginx配置
nginx -t

# 检查Nginx是否运行
systemctl status nginx

# 检查配置文件语法
cat /etc/nginx/conf.d/workdizhi.conf
```

---

## 八、管理命令

### Nginx管理

```bash
# 测试配置
nginx -t

# 重载配置（不中断服务）
systemctl reload nginx

# 重启Nginx
systemctl restart nginx

# 查看错误日志
tail -f /var/log/nginx/workdizhi.error.log

# 查看访问日志
tail -f /var/log/nginx/workdizhi.access.log
```

### Docker容器管理

```bash
# 查看容器状态
docker ps | grep workdizhi-web

# 查看容器日志
docker logs workdizhi-web

# 重启容器
docker restart workdizhi-web

# 停止容器
docker stop workdizhi-web

# 启动容器
docker start workdizhi-web
```

---

## 九、配置完成检查清单

- [x] Nginx反向代理配置已创建
- [x] 配置文件语法检查通过
- [x] Nginx配置已重载
- [ ] DNS解析已配置（需要在DNSPod添加A记录）
- [ ] DNS解析已生效（等待10分钟）
- [ ] 浏览器访问测试通过
- [ ] SSL证书正常（如需要，申请子域名证书）

---

## 十、总结

### 当前状态

✅ **Nginx配置已完成**
- 配置文件：`/etc/nginx/conf.d/workdizhi.conf`
- 支持域名：`app.ruilaizipj.com` 和 `tool.ruilaizipj.com`
- 支持HTTP和HTTPS访问
- 自动HTTP重定向到HTTPS

⏳ **待完成操作**
1. 在DNSPod添加A记录（`app` → `101.43.95.130`）
2. 等待DNS解析生效（约10分钟）
3. 测试访问 `https://app.ruilaizipj.com`

### 访问地址

配置完成后，可以通过以下地址访问：
- **推荐：** `https://app.ruilaizipj.com`
- **备选：** `https://tool.ruilaizipj.com`

---

**配置时间：** 2025年1月28日  
**配置文件：** `/etc/nginx/conf.d/workdizhi.conf`  
**服务端口：** 3006
