Jenkins测试连接Nexus Repository Manager 3.x报401未授权错误
问题描述
在Jenkins中配置Nexus Repository Manager 3.x Server对接Nexus 3服务时,执行测试连接操作失败,返回核心错误如下:
Nexus Repository Manager 3.x connection failed
com.sonatype.nexus.api.repository.v3.impl.rest.NxrmResponseException: status code: 401, reason phrase: Unauthorized
Caused: com.sonatype.nexus.api.exception.RepositoryManagerException: Get server version was unsuccessful (401 response from server)
根因说明
报错中的401状态码代表身份认证失败,Jenkins发起的版本查询请求被Nexus服务端拒绝,说明服务之间网络连通正常,故障点出在身份校验环节。
排查解决步骤
- 校验认证凭证有效性
核对Jenkins配置页填写的Nexus用户名、密码(或个人访问令牌)是否存在拼写错误、前后多余空格、大小写错误。优先使用浏览器无痕窗口,用同一套凭证直接登录Nexus控制台,验证账号未被锁定、密码未过期、令牌未失效。 - 核对账号权限配置
对接使用的Nexus账号至少需要分配nx-repository-view-*-*-read基础读权限,若后续需要通过Jenkins向Nexus上传制品,还需要额外绑定对应目标仓库的制品添加、编辑权限。禁止使用无任何权限的匿名账号完成对接。 - 检查Nexus侧安全配置
- 登录Nexus管理控制台,进入
Security -> Realms配置页,确认Nexus Authenticating Realm处于启用状态,且在认证链顺序中没有被其他异常配置拦截。 - 如果Nexus对接了LDAP/AD做统一身份认证,确认对接账号在LDAP/AD侧状态正常,同时Nexus和LDAP/AD的连接配置未失效。
- 登录Nexus管理控制台,进入
- 修正Jenkins侧配置问题
- 确认填写的Nexus Server地址格式正确,正确格式为
http(s)://<Nexus服务IP/域名>:<端口>,地址末尾不要带多余斜杠,也不要拼接具体仓库的路径,错误示例:http://nexus.xxx.com:8081/repository/maven-public/。 - 如果Jenkins和Nexus之间部署了反向代理、API网关,确认中间节点没有篡改请求的Authorization认证头,也没有额外开启身份认证规则拦截Jenkins的请求。
- 检查Jenkins已安装的Nexus Platform、Nexus Artifact Uploader插件版本,过旧的插件版本存在和高版本Nexus3认证逻辑不兼容的已知问题,升级插件到稳定兼容版本后重试。
- 确认填写的Nexus Server地址格式正确,正确格式为
- 验证修复结果
所有配置调整完成后,回到Jenkins的Nexus服务配置页重新点击测试连接,提示连接成功即为故障修复。
内容的提问来源于stack exchange,提问作者PriyeshG
相关产品推荐
相关产品推荐

