Wiki
故障排除
常见问题的解决方法:服务无法启动、激活码被拒绝、PostgreSQL、TLS。
服务无法启动
Linux:systemctl start 失败
sudo journalctl -u uversion-server -n 100 --no-pager
常见原因:
- PostgreSQL 未运行:
sudo systemctl status postgresql - 丢失数据库密码:
postinst 会使用
--reconfigure重新生成配置 (sudo dpkg-reconfigure uversion-server) - 端口 8443 被占用:请参阅下方的专门章节
Windows:错误 1053 或 1067
服务启动后立即停止。请检查事件查看器:
Get-EventLog -LogName Application -Source uVersionServer -Newest 50
常见原因:
- 缺少
CONFIG_PATH环境变量: 通常由安装程序在HKLM\SYSTEM\CurrentControlSet\Services\uVersionServer\Environment中设置 - PostgreSQL 未运行:
Get-Service postgresql*
激活码被拒绝
- 请确认该激活码未在其他机器上使用过 (每个激活码都与首次安装的 server-ID 绑定)。请从您的 账户页面申请新的激活码。
- 检查到
licence.uversion.io的连接:curl -I https://licence.uversion.io/api/v1/health - 如果您想在卸载后在新机器上重复使用某个激活码, 请联系支持团队以释放之前的 server-ID。
无法连接 PostgreSQL
uVersion 服务无法连接到数据库。手动测试:
# Linux
sudo -u postgres psql -c "SELECT 1;"
# Windows
& "C:\Program Files\PostgreSQL\16\bin\psql.exe" -U postgres -h 127.0.0.1 -c "SELECT 1;"
如果 PostgreSQL 已安装但超级用户密码丢失, uVersion 安装程序(Linux 的 postinst 以及 Windows 的 install.ps1)可以 自动将 PostgreSQL 恢复为 trust 模式、重置密码,然后 恢复原始配置。请重新运行:
# Linux
sudo dpkg-reconfigure uversion-server
# Windows
iwr https://uversion.io/downloads/server/install.ps1 -UseBasicParsing | iex
# (re-passe par le script avec -Reconfigure)
端口 8443 已被占用
uVersion 默认在 8443 上监听 HTTPS(并保持 8080 作为 HTTP 回退开放)。如果其中一个被占用:
# Linux
sudo ss -tlnp | grep -E '8443|8080'
# Windows
Get-NetTCPConnection -LocalPort 8443 | Select-Object OwningProcess, State
Get-Process -Id <PID>
要更改 TLS 端口,请编辑 config.toml:
[tls]
https_port = 9443
然后重启服务。
客户端拒绝 TLS 连接
uVersion 使用在客户端通过 TOFU 锁定的自签名证书(参见 TLS 指纹)。 最常见的原因:
- 首次连接未确认:桌面客户端会显示一个包含指纹的
对话框。请将其与管理员分享给您的值进行比较。
在 CLI 中,运行
uversion trust <url>。 - 指纹已更改(红色警告):服务器已重新安装并
重新生成了证书。请与管理员通过 out-of-band 方式确认,然后:
- 桌面端:在红色对话框中点击 Trust new fingerprint
- CLI:
uversion mistrust <url>然后uversion login <url>
- 服务器未提供 HTTPS:请检查它是否确实在
8443(而非 8080)上监听:
如果没有任何监听,请检查# Linux ss -tlnp | grep 8443 # Windows Get-NetTCPConnection -LocalPort 8443 -State Listenconfig.toml中的[tls] disabled = false(这是默认值)。 - 在服务器端重新显示指纹:
# Linux sudo cat /var/lib/uversion/data/tls/fingerprint # Windows Get-Content "C:\ProgramData\uVersion\data\tls\fingerprint"
完全重置
要从干净的安装重新开始,请参阅Ubuntu/Debian 卸载 或 Windows 卸载 页面。