如何解决401启动错误问题

Disha Meswania
2022-12-25 36

相关版本此信息与…有关人工版本5.4。X及以上

工艺品是捆绑在一起的访问安全服务其功能还在不断发展。Artifactory使用一组凭据来处理此服务。这个系统偶尔会遇到问题,特别是在升级错误地应用遗留身份验证凭据。如果发生这种情况,Artifactory将无法启动。

HA安装关机后,每个节点将无法启动。如果遇到以下情况错误在你的artifactory.log文件,这意味着Artifactory在使用其捆绑的Access服务器进行身份验证时遇到了问题:

2017-12-06 00:16:35,244 [art-init] [ERROR] (o.a.w.s.ArtifactoryContextConfigListener:99) -应用程序无法初始化:HTTP响应状态401:{"errors":[{"code":"UNAUTHORIZED","detail":"Bad credentials","message":"HTTP 401 UNAUTHORIZED"}]}
java.lang.reflect.InvocationTargetException:零
[…]
由于:java.lang.RuntimeException:使用引导凭证生成服务管理令牌失败。

决议

要解决这个问题,你需要重置您在数据库中的访问凭证(称为引导请注意有一个更有效的解决方案Artifactory 5.8,请仅根据您的版本使用相关说明。

还原工件7中的Access Admin凭据。X:

这些步骤与前面的6非常相似。X步,路径已经更新,以反映新的7。X安装目录。

1.创建一个“引导”。在主节点的美元JFROG_HOME / etc /访问文件夹(通常/var/opt/jfrog/artifactory / etc /访问/)

access-admin@ * =密码

2.将Linux权限更新为600,并由正确的Linux用户拥有:

城市工艺品:工艺品引导

Chmod 600 bootstrap.creds

3.重启Artifactory

恢复Artifactory的Admin访问权限5.8.X - 6。X:
1.(可选)备份当前数据库配置
2.创建一个“bootstrap.creds文件在节点的美元/ etc / bootstrap.creds ARTIFACTORY_HOME /访问包含:

“access-admin@ < IP_ADDRESS > =密码”

3.改变权限:

Chmod 600 bootstrap.creds
城市工艺品:工艺品引导#Only if rest of directory is owned by “artifactory”

4.重启Artifactory

注意:如果添加< IP_ADDRESS >bootstrap.creds返回一个403错误你可以试着用127.0.0.1代替。

的管理员访问凭据恢复Artifactory 5.5。X - 5.7.x:
1.(可选)备份当前数据库配置
2.创建一个“引导”。在节点的美元/ etc / bootstrap.creds ARTIFACTORY_HOME /访问包含:

“admin@ < IP_ADDRESS > =密码”

3.改变权限:

Chmod 600 bootstrap.creds
城市工艺品:工艺品引导#Only if rest of directory is owned by “artifactory”

4.编辑或创建美元ARTIFACTORY_HOME / etc /安全/ /键/ access.creds访问文件,其中包含:

“管理=密码”
请注意在某些版本中有一个bug,实际上需要手动删除访问权限。启动前的信用将起作用。

5.在远程数据库中,你需要从“access_users”表中删除admin用户:

Select * from access_users where username='admin';//首先查找表中的用户
删除用户名= admin的access_users;

6.重启Artifactory

7.X注意:“基本”API访问不再工作

自从安全更新Artifactory 7.12, Access API端点不再接受基本的“Access -admin:password”身份验证。相反,您需要通过Artifactory UI生成一个Admin令牌。此注意事项适用于需要使用Access -admin帐户使用Access REST API的用户。

管理->身份和访问->访问令牌

用户添加图片

然后使用令牌对/access进行REST API调用:

curl -H“授权:承载eyJ[…令牌…]A”http://localhost:8081/access/api/v1/system/ping

好吧