333 lines
6.9 KiB
Markdown
333 lines
6.9 KiB
Markdown
# 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
|