使用vault-action@v2拉取密钥报错:JSON位置0存在意外字符<
排查 vault-action@v2 拉取密钥时的
Error: Unexpected token < in JSON at position 0 错误 这个错误的核心原因是:vault-action 尝试将 Vault 返回的内容解析为 JSON,但实际收到的是 HTML 文本(比如错误页面)—— < 是 HTML 标签的起始字符,因此触发了解析失败。
以下是具体的排查方向和可能的问题:
Vault 地址或网络异常
- 确认配置里的
url: https://vault.gwd.net完全正确:比如是否遗漏了端口(Vault 默认端口为 8200,若未通过 443 端口提供服务,需补充为https://vault.gwd.net:8200)、域名拼写是否有误 - 检查 GitHub Runner 是否能正常访问该 Vault 地址:如果存在防火墙、代理拦截,可能会返回 HTML 格式的拦截页面,而非 Vault 的 JSON 响应
- 若 Vault 使用自签名 SSL 证书,vault-action@v2 默认会验证证书有效性,可能导致请求失败并返回 HTML 错误。这种情况下可添加
skipCertVerify: true参数临时关闭证书验证(仅限内部可信环境使用)
- 确认配置里的
密钥路径不存在
确认secret/groups/SDE/github_secrets这个路径在 Vault 中真实存在,路径的大小写、层级结构必须完全匹配。如果路径错误,Vault 会返回 404 错误页面(HTML 格式),导致 JSON 解析失败。Token 权限不足
检查VAULT_TOKEN对应的账号是否拥有read权限访问secret/groups/SDE/github_secrets路径。权限不足时,Vault 会返回 403 错误页面(HTML 格式),同样会触发 JSON 解析错误。secrets 配置格式冗余
你的配置中第一行末尾的分号属于冗余内容,换行分隔条目时不需要额外添加分号。可调整为更规范的格式:secrets: | secret/groups/SDE/github_secrets DOCKER_REPO_USER secret/groups/SDE/github_secrets DOCKER_REPO_PASSWORD
内容的提问来源于stack exchange,提问作者Luiz
相关产品推荐
相关产品推荐

