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
|