在使用数据安全柜之前,数据买方需要在本地环境完成系统安装部署和访问配置。
数据安全柜 1.1.1 提供了网页端。网页端并不是独立的业务服务,而是将浏览器操作转换为本机守护进程操作的可视化客户端:安全域、实例、审核和文件操作仍由 dvagentd 完成。
本操作任务需要由数据买方(数据使用方)操作执行。
适用版本:数据安全柜 1.1.1 及后续兼容版本。
网页端由 dvwebd 网关提供页面和 API;它以低权限的 dvweb 用户运行,浏览器不会直接访问数据盘或内核模块。
使用网页端前,请确认:
1.1.1 或更高版本的 datasafebox-cmd-cli 完整软件包;该包应包含 dvwebd、Web 静态页面和 dvweb.service。dvagent.service 与 dvweb.service 都可以正常启动。注意:网页端是部署主机上的可视化客户端,不是供多个不同账号同时共用的中心化 Web 门户。同一 dvagentd 同时只维护一个业务登录身份;其他浏览器或 CLI 使用另一个账号登录后,当前网页端会话会提示重新登录。
首次安装时,如尚未配置软件源,请先完成软件源配置,然后安装软件包:
sudo apt update
sudo apt install -y datasafebox-cmd-cli
已有旧版本时,升级到包含网页端的版本:
sudo apt update
sudo apt install --only-upgrade datasafebox-cmd-cli
dv --version
安装或升级完成后,安装脚本会创建 dvweb 系统用户,并依次启用/重启 dvagent.service 和 dvweb.service。升级会短暂中断网页端访问,请避开正在进行的关键操作。
本页仅说明 APT 软件包部署。当前没有可直接复用的 Docker/Compose 部署方案,也不建议仅替换 dvwebd 而保留旧版 dvagentd。
在部署主机执行:
test -x /opt/datasafebox-cmd-cli/bin/dvwebd && echo "dvwebd 已安装"
sudo systemctl status dvagent.service dvweb.service --no-pager
curl --noproxy '*' -fsS http://127.0.0.1:8080/api/healthz
健康检查成功时会返回 JSON,其中包含 "ok":true 和 "daemon":"reachable"。若 dvweb.service 不存在或 dvwebd 未安装,请先确认当前软件包版本确为 1.1.1 或更高版本。
默认访问地址为:
http://127.0.0.1:8080/
该地址默认只允许部署主机本机访问。请在部署主机的浏览器中打开它;打开后会自动跳转到三方登录页,登录成功会自动回到数据安全柜首页。
网页端的访问方式取决于 dvwebd 部署在什么样的机器上:
IP+端口 直接访问。dvwebd 默认监听 127.0.0.1:8080。只要浏览器和 dvwebd 运行在同一台机器上,直接打开上文「二、验证服务与页面」的默认链接即可:
http://127.0.0.1:8080/
不需要修改配置,也不需要额外的网络设置。
若默认的 8080 端口和本机其他服务冲突,或想自定义端口,可以直接改端口,不需要启用 HTTPS(因为仍然监听在 127.0.0.1 回环地址上):
/var/lib/dvweb/.local/share/dv/config.ini(不是 CLI 用的 /root/.local/share/dv/config.ini),保留已有内容,只新增或修改 [web] 节:[web]
port=8090
sudo systemctl restart dvweb.service
curl --noproxy '*' -fsS http://127.0.0.1:8090/api/healthz
http://127.0.0.1:8090/
只要 listen 仍保持默认的 127.0.0.1(回环地址),改端口不需要配置 TLS 证书,登录回调地址也会自动按新端口推断,无需手动设置 callback_url。
适用于没有桌面环境、需要其他机器直接通过 https://<服务器IP>:<端口>/ 访问的服务器部署。
出于会话安全考虑,dvwebd 只允许两种监听方式之一:绑定 127.0.0.1(仅本机可访问,见上文「1、Linux 桌面版:直接通过浏览器访问」),或者绑定对外地址并同时启用 TLS。dvwebd 会拒绝在非回环地址上以明文 HTTP 启动。因此「IP+端口」直接访问目前必须启用 HTTPS。
/var/lib/dvweb/tls/,私钥只对 dvweb 用户可读):sudo install -d -o root -g dvweb -m 0750 /var/lib/dvweb/tls
sudo install -o root -g dvweb -m 0644 /path/to/fullchain.pem /var/lib/dvweb/tls/fullchain.pem
sudo install -o root -g dvweb -m 0640 /path/to/privkey.pem /var/lib/dvweb/tls/privkey.pem
如果只有服务器 IP、没有域名:大多数 CA 不会给纯 IP 签发证书,可以改用自签名证书(SAN 中需包含该 IP):
openssl req -x509 -newkey rsa:2048 -nodes -days 825 \
-keyout privkey.pem -out fullchain.pem \
-subj "/CN=<服务器IP>" -addext "subjectAltName=IP:<服务器IP>"
使用自签名证书时,浏览器会提示「证书不受信任」,需要手动信任该证书才能继续访问。
/var/lib/dvweb/.local/share/dv/config.ini(不是 CLI 用的 /root/.local/share/dv/config.ini),保留已有内容,只新增或修改 [web] 节,直接用 IP 作为访问地址:[web]
listen=0.0.0.0
port=8443
tls_cert=/var/lib/dvweb/tls/fullchain.pem
tls_key=/var/lib/dvweb/tls/privkey.pem
callback_url=https://<服务器IP>:8443/api/auth/callback
保存后确保文件权限正确:
sudo chown dvweb:dvweb /var/lib/dvweb/.local/share/dv/config.ini
sudo chmod 0600 /var/lib/dvweb/.local/share/dv/config.ini
sudo systemctl restart dvweb.service
curl --noproxy '*' -fsSk https://<服务器IP>:8443/api/healthz
然后在浏览器打开 https://<服务器IP>:8443/,并在防火墙或安全组中仅向需要的来源开放该端口。
要点速查:
| 配置项 | 说明 |
|---|---|
listen |
监听地址,0.0.0.0 表示所有 IPv4 网卡 |
port |
监听端口,需大于 1024(dvwebd 以非 root 用户运行) |
tls_cert / tls_key |
证书与私钥路径,必须成对有效且可被 dvweb 读取 |
callback_url |
浏览器实际访问的完整回调地址,须以 /api/auth/callback 结尾,协议、地址、端口需与访问链接一致 |
| 配置优先级 | dvwebd 命令行参数 > config.ini > 内置默认值 |
不要修改 /lib/systemd/system/dvweb.service(或系统对应的 vendor unit 路径)来改端口或地址,软件包升级可能覆盖该文件。
不支持反向代理或子路径部署:网页端前端和 API 固定部署在站点根路径,不能配置为 https://example.com/datasafebox/ 这类子路径访问;请使用独立域名/IP 或独立端口。
http://127.0.0.1:8080/ 或 https://<服务器IP>:8443/)。