-
Notifications
You must be signed in to change notification settings - Fork 0
Self Hosted Instances
TriForge 接收的是实例首页 URL,不是 REST API URL。它会根据平台自动拼接 API 路径。
| 场景 | 应输入 |
|---|---|
| 自建 GitLab 根路径 | https://gitlab.example.com |
| 自建 GitLab 带前缀 | https://code.example.com/gitlab |
| 自建 Gitea 根路径 | https://git.example.com |
| 自建 Gitea 带前缀 | https://code.example.com/gitea |
| GitHub Enterprise Server | https://github.example.com |
不要输入:
https://gitlab.example.com/api/v4
https://git.example.com/api/v1
https://github.example.com/api/v3
TriForge 会自动得到:
- GitLab:
<首页路径>/api/v4; - Gitea:
<首页路径>/api/v1; - GitHub Enterprise:
<首页路径>/api/v3。
URL 不能包含用户名、密码、查询参数或 fragment。
若实例部署在 /gitea,必须保留此前缀:
https://code.example.com/gitea
它不仅用于 API 地址,也用于限制 Token 只发送给匹配的 Git HTTPS remote。输入成 https://code.example.com 可能导致 API 404,或使 remote 与连接无法安全匹配。
代理应正确处理:
- HTTPS 终止与完整证书链;
- 原始 Host 与路径前缀;
- Git 的 smart HTTP 路径;
- GitLab
/api/v4或 Gitea/api/v1; - 合理的请求/响应大小与超时;
- 不把认证端点重定向到另一主机。
TriForge 的带 Token API 请求不跟随重定向,这是为了防止 Authorization 信息被带到错误服务器。若实例把所有 API 请求从旧域名 301/302 到新域名,请直接把最终 HTTPS 首页 URL 配进 TriForge。
使用公开受信任证书时通常无需额外设置。公司 CA 或自签名证书可能出现一种常见情况:
- 浏览器能打开;
- 系统 Git 能 Push;
- 但 VS Code 扩展宿主的 Node HTTPS 请求不信任该 CA;
或者反过来。原因是 Git 和扩展宿主可能使用不同的证书信任来源。
推荐:
- 让管理员为实例部署完整、有效的证书链;
- 按组织标准把根 CA 安装到系统/VS Code 扩展宿主可用的信任链;
- 重启 VS Code 后重新验证;
- 同时用浏览器、
git ls-remote和 TriForge 分别检查。
不要设置 NODE_TLS_REJECT_UNAUTHORIZED=0,也不要全局关闭 http.sslVerify。这会把所有 HTTPS 连接暴露给中间人攻击。
0.5.0 没有自定义 CA 文件设置;若组织环境需要这一功能,请提交功能请求并说明平台、证书链和 VS Code 运行环境。
TriForge 允许用户明确确认后连接 http://,但不推荐。HTTP 中 Token 和 Git 内容没有传输加密,局域网也不能自动视为可信。
只应在以下情况短暂使用:
- 完全隔离的本机开发容器;
- 无真实 Token、无真实代码的测试实例;
- 确认网络边界且理解风险。
出现超时或连接重置时检查:
- VS Code 所在进程是否经过企业代理;
- Remote SSH/Dev Container 中的扩展宿主是否能访问实例;
- VPN 是否只给浏览器路由、未覆盖扩展宿主;
- 代理是否拒绝长时间 Git Push;
- 防火墙是否允许 API 和 Git HTTPS 两类路径。
TriForge 的 API 与 git 子进程是两套网络客户端,“API 能连接”不保证“Git Push 能通过”,反之亦然。
自建平台可能:
- 禁用个人访问令牌;
- 限制 Token 最大有效期;
- 禁止普通用户创建项目;
- 要求组织 SSO;
- 强制分支保护或签名提交;
- 更改仓库名规则;
- 对 API 加入额外身份代理。
TriForge 不能绕过这些服务端政策。验证连接只验证身份;创建和 Push 仍可能被后续策略拒绝。
不要直接把 Git remote 改到新主机后继续沿用旧连接。安全顺序是:
- 在新实例创建专用 Token;
- 修改 TriForge 连接的实例 URL;
- 第 3 步输入新 Token 并验证;
- 检查或更新项目 Git remote;
- Fetch,查看提交图中的远程位置;
- 先用测试分支推送;
- 确认迁移完成后撤销旧实例 Token。
由于 URL 改变时 TriForge 强制要求新 Token,旧凭据不会被发送给新主机。
在不暴露 Token 的前提下收集:
git --version
git remote -v
git ls-remote https://gitlab.example.com/user/project.git同时查看 VS Code“输出” → “TriForge Git”。复制日志前仍应人工检查内部域名、用户名、仓库名是否适合公开。
当前文档对应 TriForge Git 0.5.1。