带有BasicAuth的SolrCloud 7.2 - IndexFetcher Http客户端请求未经过身份验证

时间:2018-01-26 15:15:07

标签: solr solrcloud

每当调用IndexFetcher类进行恢复或复制时,HTTP请求都是未经身份验证的,导致401错误:

  

2018-01-25 13:16:22.538 WARN(indexFetcher-25-thread-1)   [c:myCollection s:shard1 r:core_node3   x:myCollection_shard1_replica_t1] o.a.s.h.IndexFetcher大师:   http://server1:8983/solr/myCollection_shard1_replica_t4/不是   可用。索引提取因异常而失败:   org.apache.solr.client.solrj.impl.HttpSolrClient $ RemoteSolrException:   来自服务器的错误   http://server1:8983/solr/myCollection_shard1_replica_t4:预期的哑剧   键入application / octet-stream但得到text / html。   错误401未经授权的请求,响应代码:401    

HTTP错误401

访问问题   / solr的/ myCollection_shard1_replica_t4 /复制。原因:


Unauthorized request, Response code: 401

我检查了源代码,在IndexFetcher中创建新的HTTP客户端之前,它尝试从initArgs获取http auth用户/密码,但这些属性总是为null,如果我在复制处理程序中设置它们(在slave标记下)

 <lst name="slave">

<str name="masterUrl">http://server1:port/solr/myCollection/replication</str>

 <str name="httpBasicAuthUser">username</str>

<str name="httpBasicAuthPassword">password</str>

</lst>

我下载了solr源代码并输入了硬编码的用户名和密码,编译了jar,一切正常。在此之前,我使用记录器检查httpBasicAuthUser / httpBasicAuthPassword,每当调用IndexFetcher进行恢复或复制时,这些字段都为空。

0 个答案:

没有答案