Files
code/3006端口域名访问配置方案.md
2026-01-28 15:29:13 +08:00

333 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
TTL600
```
**配置文件:** `/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
TTL60010分钟
线路类型:默认
```
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