188 lines
4.2 KiB
Markdown
188 lines
4.2 KiB
Markdown
|
|
# XYZW Token Manager 部署说明
|
|||
|
|
|
|||
|
|
## 快速启动
|
|||
|
|
|
|||
|
|
### 本地开发模式
|
|||
|
|
```bash
|
|||
|
|
start-local.bat
|
|||
|
|
```
|
|||
|
|
- 端口:3001
|
|||
|
|
- 访问:http://localhost:3001
|
|||
|
|
- 仅本地访问
|
|||
|
|
|
|||
|
|
### 部署模式(公网访问)
|
|||
|
|
```bash
|
|||
|
|
start-deploy.bat
|
|||
|
|
```
|
|||
|
|
- 端口:25432
|
|||
|
|
- 本地访问:http://localhost:25432
|
|||
|
|
- 域名访问:http://winnas.whtnas.top:25432
|
|||
|
|
- 支持:IPv4本地 + IPv6公网
|
|||
|
|
|
|||
|
|
## 部署配置步骤
|
|||
|
|
|
|||
|
|
### 1. 域名DNS配置
|
|||
|
|
|
|||
|
|
确保域名 `winnas.whtnas.top` 已配置IPv6 AAAA记录:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
类型: AAAA
|
|||
|
|
主机记录: winnas (或 @)
|
|||
|
|
记录值: [你的IPv6地址]
|
|||
|
|
TTL: 600
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
可以通过以下命令验证DNS解析:
|
|||
|
|
```bash
|
|||
|
|
nslookup -type=AAAA winnas.whtnas.top
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. Windows防火墙配置
|
|||
|
|
|
|||
|
|
#### 方法一:通过PowerShell添加防火墙规则(推荐)
|
|||
|
|
|
|||
|
|
以管理员身份运行PowerShell,执行以下命令:
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
# 添加入站规则 - 允许25432端口
|
|||
|
|
New-NetFirewallRule -DisplayName "XYZW Token Manager - 25432" -Direction Inbound -LocalPort 25432 -Protocol TCP -Action Allow -Profile Any
|
|||
|
|
|
|||
|
|
# 验证规则是否添加成功
|
|||
|
|
Get-NetFirewallRule -DisplayName "XYZW Token Manager - 25432"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 方法二:通过图形界面添加
|
|||
|
|
|
|||
|
|
1. 打开 `Windows Defender 防火墙` → `高级设置`
|
|||
|
|
2. 点击左侧 `入站规则` → 右侧 `新建规则`
|
|||
|
|
3. 选择 `端口` → 下一步
|
|||
|
|
4. 选择 `TCP`,特定本地端口:`25432` → 下一步
|
|||
|
|
5. 选择 `允许连接` → 下一步
|
|||
|
|
6. 选择所有配置文件(域、专用、公用)→ 下一步
|
|||
|
|
7. 名称:`XYZW Token Manager - 25432` → 完成
|
|||
|
|
|
|||
|
|
### 3. 路由器端口转发配置(如需要)
|
|||
|
|
|
|||
|
|
如果你的服务器在NAT后面,需要在路由器配置端口转发:
|
|||
|
|
|
|||
|
|
- 外部端口:25432
|
|||
|
|
- 内部端口:25432
|
|||
|
|
- 内部IP:[服务器的内网IP]
|
|||
|
|
- 协议:TCP
|
|||
|
|
- 备注:IPv6通常不需要NAT,可直接访问
|
|||
|
|
|
|||
|
|
### 4. 验证部署
|
|||
|
|
|
|||
|
|
#### 本地验证
|
|||
|
|
```bash
|
|||
|
|
# IPv4本地访问
|
|||
|
|
curl http://localhost:25432
|
|||
|
|
|
|||
|
|
# IPv6本地访问
|
|||
|
|
curl http://[::1]:25432
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 远程验证
|
|||
|
|
```bash
|
|||
|
|
# 通过域名访问
|
|||
|
|
curl http://winnas.whtnas.top:25432
|
|||
|
|
|
|||
|
|
# 直接IPv6访问
|
|||
|
|
curl http://[你的IPv6地址]:25432
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
或在浏览器中访问:
|
|||
|
|
- http://winnas.whtnas.top:25432
|
|||
|
|
|
|||
|
|
### 5. 安全建议
|
|||
|
|
|
|||
|
|
1. **定期更新依赖**
|
|||
|
|
```bash
|
|||
|
|
npm update
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **使用HTTPS(可选)**
|
|||
|
|
- 考虑使用反向代理(如Nginx)配置SSL证书
|
|||
|
|
- 推荐使用Let's Encrypt免费证书
|
|||
|
|
|
|||
|
|
3. **限制访问来源**
|
|||
|
|
- 如果不需要公网访问,可以只允许特定IP
|
|||
|
|
- 在防火墙规则中添加远程IP限制
|
|||
|
|
|
|||
|
|
4. **监控日志**
|
|||
|
|
- 定期检查访问日志
|
|||
|
|
- 关注异常访问行为
|
|||
|
|
|
|||
|
|
## 常见问题
|
|||
|
|
|
|||
|
|
### Q1: 无法通过域名访问
|
|||
|
|
- 检查DNS是否正确解析:`nslookup winnas.whtnas.top`
|
|||
|
|
- 检查防火墙规则是否生效
|
|||
|
|
- 确认服务是否正常运行:`netstat -ano | findstr 25432`
|
|||
|
|
|
|||
|
|
### Q2: 只能本地访问,外网无法访问
|
|||
|
|
- 检查服务器的公网IPv6地址是否正确
|
|||
|
|
- 确认防火墙允许外部访问
|
|||
|
|
- 检查路由器是否有IPv6防火墙规则
|
|||
|
|
|
|||
|
|
### Q3: IPv6无法访问
|
|||
|
|
- 确认本地网络支持IPv6
|
|||
|
|
- 检查DNS的AAAA记录是否正确
|
|||
|
|
- 测试IPv6连通性:`ping -6 winnas.whtnas.top`
|
|||
|
|
|
|||
|
|
### Q4: 端口被占用
|
|||
|
|
```bash
|
|||
|
|
# 查看端口占用情况
|
|||
|
|
netstat -ano | findstr 25432
|
|||
|
|
|
|||
|
|
# 结束占用端口的进程
|
|||
|
|
taskkill /F /PID [进程ID]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 维护命令
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 查看防火墙规则
|
|||
|
|
Get-NetFirewallRule -DisplayName "*XYZW*"
|
|||
|
|
|
|||
|
|
# 禁用防火墙规则
|
|||
|
|
Disable-NetFirewallRule -DisplayName "XYZW Token Manager - 25432"
|
|||
|
|
|
|||
|
|
# 启用防火墙规则
|
|||
|
|
Enable-NetFirewallRule -DisplayName "XYZW Token Manager - 25432"
|
|||
|
|
|
|||
|
|
# 删除防火墙规则
|
|||
|
|
Remove-NetFirewallRule -DisplayName "XYZW Token Manager - 25432"
|
|||
|
|
|
|||
|
|
# 查看端口监听状态
|
|||
|
|
netstat -ano | findstr 25432
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 配置文件说明
|
|||
|
|
|
|||
|
|
### vite.config.js
|
|||
|
|
服务器配置通过环境变量控制:
|
|||
|
|
- `VITE_PORT`: 服务端口(默认3001)
|
|||
|
|
- `VITE_HOST`: 监听地址(默认0.0.0.0,监听所有接口)
|
|||
|
|
|
|||
|
|
### 域名白名单
|
|||
|
|
在 `vite.config.js` 中配置:
|
|||
|
|
```javascript
|
|||
|
|
allowedHosts: ['winnas.whtnas.top', 'localhost', '127.0.0.1']
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
如需添加其他域名,请在此数组中添加。
|
|||
|
|
|
|||
|
|
## 技术支持
|
|||
|
|
|
|||
|
|
如遇到问题,请检查:
|
|||
|
|
1. Node.js版本(建议v18+)
|
|||
|
|
2. npm依赖是否完整安装
|
|||
|
|
3. 系统防火墙配置
|
|||
|
|
4. 网络连通性
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
最后更新:2025-10-10
|
|||
|
|
|