适用场景:VOZEB PRO 运行在本机或内网,但图生视频上游模型需要从公网读取站内参考图片。
localhost、127.0.0.1 和私有网段不能被上游模型直接访问,因此需要配置一个可公开访问的 HTTPS 根地址。本文以临时 Cloudflare Tunnel( trycloudflare.com)为例,适合本地测试,不建议作为长期生产方案。
.env、安装令牌、API Key、数据库密码和截图公开。| 占位符 | 说明 | 示例 |
|---|---|---|
<项目目录> | VOZEB PRO 所在文件夹 | D:\软件\vozeb pro |
<cloudflared路径> | cloudflared.exe 的完整路径 | C:\Program Files (x86)\cloudflared\cloudflared.exe |
<本地端口> | VOZEB PRO 使用的本地端口 | 3000 |
<公网地址> | Cloudflare 生成的 HTTPS 地址 | https://example.trycloudflare.com |
< 和 >。Set-Location '<项目目录>'D:\软件\vozeb pro,实际命令为:Set-Location 'D:\软件\vozeb pro'http://127.0.0.1:<本地端口>3000:http://127.0.0.1:3000Invoke-WebRequest http://127.0.0.1:3000/api/health/ready200 后再继续。/api/health/live 只证明应用进程存活,/api/health/ready 才会检查数据库、安装状态和生成 Worker 心跳。cloudflared,并记住可执行文件的完整路径。& '<cloudflared路径>' --version& 'C:\Program Files (x86)\cloudflared\cloudflared.exe' --version& '<cloudflared路径>' tunnel --url http://127.0.0.1:<本地端口>& 'C:\Program Files (x86)\cloudflared\cloudflared.exe' tunnel --url http://127.0.0.1:3000https://example.trycloudflare.com<公网地址>。https://...trycloudflare.com 地址。cloudflared 的 PowerShell 窗口。.env 配置.env。VM Compose 部署通常位于项目根目录,而不是 deployment 子目录:<项目目录>\.envD:\软件\vozeb pro\.envNEXT_PUBLIC_SITE_URL=http://localhost:3000NEXT_PUBLIC_SITE_URL=<公网地址>https://example.trycloudflare.comNEXT_PUBLIC_SITE_URL=https://example.trycloudflare.comNEXT_PUBLIC_SITE_URL=https://example.trycloudflare.comNEXT_PUBLIC_SITE_URL=<公网地址>
NEXT_PUBLIC_SITE_URL=https://example.trycloudflare.com/
NEXT_PUBLIC_SITE_URL=https://example.trycloudflare.com/api
NEXT_PUBLIC_SITE_URL=https://github.com/example/image.png
NEXT_PUBLIC_SITE_URL=C:\Users\用户名\Pictures\image.pngNEXT_PUBLIC_SITE_URL 必须是 VOZEB PRO 的公网根地址,不能填写:.env 后,主应用需要重新创建才能加载新变量。生成 Worker 不读取该公网地址,因此只需重建 app:Set-Location '<项目目录>'
docker compose up -d --force-recreate appSet-Location 'D:\软件\vozeb pro'
docker compose up -d --force-recreate app如果项目使用了自行维护的 Compose 文件或服务名,请以实际服务名为准。
docker exec vozeb-pro printenv NEXT_PUBLIC_SITE_URLhttps://example.trycloudflare.comSet-Location '<项目目录>'
docker compose up -d --force-recreate app
docker exec vozeb-pro printenv NEXT_PUBLIC_SITE_URLInvoke-WebRequest '<公网地址>/api/health/live'Invoke-WebRequest 'https://example.trycloudflare.com/api/health/live'200。Invoke-WebRequest '<公网地址>/api/health/ready'/api/health/ready 返回 200,说明数据库、安装和生成 Worker 状态正常。若只检查 /api/health/live,只能确认应用进程仍在运行。<公网地址>/api/health/readyC:\Users\用户名\Pictures\cat.pngNEXT_PUBLIC_SITE_URL。cloudflared 的 PowerShell 窗口仍然打开。Invoke-WebRequest '<公网地址>/api/health/ready'NEXT_PUBLIC_SITE_URL:docker exec vozeb-pro printenv NEXT_PUBLIC_SITE_URL.env 后已经重建 app。& '<cloudflared路径>' tunnel --url http://127.0.0.1:<本地端口>.env。successsuccess 不代表视频一定生成成功。部分模型服务可能返回类似下面的结构:{
"message": "success",
"data": {
"status": "failed",
"error": {
"message": "实际错误原因"
}
}
}message: success 只表示查询接口调用成功。data.status: failed 才表示视频任务本身失败。success,重点检查:NEXT_PUBLIC_SITE_URL 是否为公网根地址不同上游返回结构可能不同,应以实际响应体为准。
cloudflared tunnel。.env 中的 NEXT_PUBLIC_SITE_URL。app 容器。trycloudflare.com 隧道适合测试,但存在以下限制:cloudflared 进程必须持续运行。.env。.env 后必须重新创建主应用容器。