此问题可能与Solr安全设置的配置有关。可以通过检查security.json文件中的配置来解决此问题。
以下是一个解决方法的示例,步骤如下:
步骤1:在solr/conf
目录下创建security.json
文件,并添加以下内容:
{ "authentication": { "blockUnknown": true, "class": "solr.BasicAuthPlugin", "credentials": { "solr": "IV0EHq1OnNrj6gvRCwvFwTrZ1+zooMLrMS1LR05CYZ0=", "user": "S2FsaXg=" } }, "authorization": { "class": "solr.RuleBasedAuthorizationPlugin", "permissions": [ { "name": "security-edit", "role": ["admin"] } ], "user-role": { "solr": ["admin"], "user": ["security-edit"] } }, "jwt": { "class": "solr.JwtAuthPlugin", "enabled": true, "secret": "your-secret", "principalClaim": "sub", "maxTokenExpirySeconds": 36000, "issuer": "solr" } }
步骤2:尝试通过API请求Solr。
如果API仍然被阻止,请尝试修改solr.in.sh
或solr.in.cmd
文件中的SOLR_OPTS
设置,例如:
SOLR_OPTS="$SOLR_OPTS -Dsolr.auth.enabled=true -Dsolr.security.credentials="solr:IV0EHq1OnNrj6gvRCwvFwTrZ1+zooMLrMS1LR05CYZ0="",user:S2FsaXg=" -Dsolr.security.jwt.enabled=true -Dsolr.security.jwt.secret=your-secret -Dsolr.security.jwt.maxTokenExpirySeconds=36000"
步骤3:尝试通过API请求Solr。
在进行这些调整后,应该可以轻松地解除API调用的阻止。
下一篇:ApacheSolr中的数据迁移