Solr 9.5独立模式下无法配置认证与授权问题求助
Solr 9.5独立模式认证授权配置常见遗漏步骤
检查security.json文件权限
Mac的/opt目录权限管控严格,需确保Solr进程能读取该文件。如果用官方脚本启动Solr,执行以下命令调整权限:chown solr:solr /opt/solr-9.5.0/server/solr/security.json chmod 644 /opt/solr-9.5.0/server/solr/security.json若用当前用户手动启动,确保文件对当前用户具备可读权限。
校验security.json格式合法性
JSON格式错误是高频问题,比如遗漏逗号、引号不匹配、括号未闭合。可以用本地工具快速校验:python -m json.tool /opt/solr-9.5.0/server/solr/security.json执行后若输出格式化的JSON则格式正常,否则会提示具体错误位置。
确认密码哈希格式符合要求
Solr要求SHA256加盐哈希格式为sha256:盐值:哈希结果,需确保生成逻辑正确。示例Python代码:import hashlib salt = "your_random_salt" # 自定义随机盐值 raw_password = "your_password" hash_result = hashlib.sha256((raw_password + salt).encode("utf-8")).hexdigest() final_hash = f"sha256:{salt}:{hash_result}"检查security.json中
solr用户的密码值是否严格遵循该格式。确保solr.xml已配置启用认证插件
打开/opt/solr-9.5.0/server/solr/solr.xml,确认存在以下配置节点(若没有则添加):<security> <authentication class="org.apache.solr.security.BasicAuthPlugin"> <str name="credentialsProvider">org.apache.solr.security.FileCredentialsProvider</str> <str name="credentialsFile">security.json</str> </authentication> <authorization class="org.apache.solr.security.AuthorizationPlugin"> <str name="class">org.apache.solr.security.RuleBasedAuthorizationPlugin</str> <lst name="permissions"> <lst name="name">security-edit</lst> <lst name="role">admin</lst> </lst> <lst name="user-role"> <str name="solr">admin</str> </lst> </authorization> </security>这段配置会告诉Solr加载security.json并启用基础认证和规则授权。
采用正确的重启方式
先彻底停止Solr进程,再启动,避免缓存旧配置:# 停止所有Solr实例 /opt/solr-9.5.0/bin/solr stop -all # 等待进程完全终止后启动 /opt/solr-9.5.0/bin/solr start查看日志定位具体错误
查看Solr日志文件/opt/solr-9.5.0/server/logs/solr.log,里面会记录启动失败的详细原因,比如权限不足、JSON解析错误、密码格式不合法等,根据日志信息针对性修复。
内容的提问来源于stack exchange,提问作者Madeline
相关产品推荐
相关产品推荐

