我正在使用Haystack連接並與elasticsearch的安裝進行交互。 Elasticsearch安裝在主Web服務器的另一個框中。使用http身份驗證的Django Haystack連接錯誤
我在使用nginx的elasticsearch框上設置了HTTP驗證。這是爲了阻止對elasticsearch的未經授權的訪問。
草堆的配置是這樣的:
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://USERNAME:[email protected]:PORT/',
'INDEX_NAME': 'haystack',
},
}
有了這個設置,我得到一個連接錯誤:
elasticsearch.exceptions.ConnectionError: ConnectionError(('Connection aborted.',
gaierror(-2, 'Name or service not known'))) caused by: ProtocolError(('Connection
aborted.', gaierror(-2, 'Name or service not known')))
如果我關閉HTTP認證,並相應更新網址http://DOMAIN:PORT/
它連接沒有問題。 ?
難道是草垛(或elasticsearch-PY(http://www.elasticsearch.org/guide/en/elasticsearch/client/python-api/current/)不允許在URL中使用HTTP認證,我注意到這是Solr的一個問題 - Solr authentication (using Django Haystack)