You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenDaylight调用Jolokia接口返回401未授权,求解决方案

OpenDaylight Jolokia接口401未授权问题解决建议

问题描述

我在多种环境(Windows上的VirtualBox 7.0虚拟机、原生Ubuntu 24.04、Ubuntu虚拟机、基于Ubuntu的Docker)中部署OpenDaylight后,执行以下curl命令:

$curl -u admin:admin -X GET http://172.17.0.2:8181/jolokia/read/org.opendaylight.controller:type=DistributedConfigDatastore,Category=ShardManager,name=shard-manager-config

均返回401未授权错误,错误内容如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 401 Unauthorized</title>
</head>
<body><h2>HTTP ERROR 401 Unauthorized</h2>
<table>
<tr><th>URI:</th><td>/jolokia/read/org.opendaylight.controller:type=DistributedConfigDatastore,Category=ShardManager,name=shard-manager-config</td></tr>
<tr><th>STATUS:</th><td>401</td></tr>
<tr><th>MESSAGE:</th><td>Unauthorized</td></tr>
<tr><th>SERVLET:</th><td>org.jolokia.osgi.servlet.JolokiaServlet</td></tr>
</table>

</body>
</html>

尝试用sudo执行命令也无法解决,查询后未找到其他默认凭据,求解决建议。

解决建议

  • 检查OpenDaylight身份验证配置
    打开OpenDaylight安装目录下的etc/org.apache.karaf.jaas.cfg文件,确认admin用户的密码配置是否正确。如果是自定义部署场景,默认凭据可能已被修改,需核对配置内的用户信息。

  • 验证Jolokia访问权限设置
    查看etc/org.jolokia.osgi.cfg配置文件,确认是否启用了严格权限控制。若配置了policyLocation指向权限策略文件,需检查策略是否允许admin用户访问目标MBean路径。若权限受限,调整策略规则添加对应MBean的访问权限。

  • 确认OpenDaylight启动特性
    部署时需确保已加载包含Jolokia和Datastore管理的特性集。进入Karaf控制台执行feature:list查看已安装特性,若缺失odl-mdsal-all、odl-jolokia等特性,执行feature:install odl-jolokia odl-mdsal-all补充安装。

  • 排查网络与端口映射问题
    Docker环境中,确认容器8181端口已正确映射到宿主机,或直接在容器内部执行curl测试,排除端口映射或网络访问异常。同时确认目标IP172.17.0.2为OpenDaylight服务的正确地址(如容器内部IP或宿主机映射IP)。

  • 尝试Digest认证方式
    部分OpenDaylight版本中,Jolokia可能要求使用Digest认证而非Basic认证,修改curl命令如下:

    curl --digest -u admin:admin -X GET http://172.17.0.2:8181/jolokia/read/org.opendaylight.controller:type=DistributedConfigDatastore,Category=ShardManager,name=shard-manager-config
    
  • 重置默认凭据
    若确认默认凭据已被修改,可进入OpenDaylight的Karaf控制台重置admin密码:

    jaas:manage
    jaas:useradmin <new-password>
    jaas:update
    

    重启OpenDaylight服务后,使用新密码执行curl命令尝试。

内容的提问来源于stack exchange,提问作者Shagysaurio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 22:03:30