/ / Django Haystack chyba spojenia pomocou http autentifikácie - django, elasticsearch, django-haystack, http-autentifikácia, pyelasticsearch

Django Haystack chyba spojenia pomocou autentifikácie http - django, elasticsearch, django-haystack, http-autentifikácia, pyelasticsearch

Používam Haystack na pripojenie a interakciu s inštaláciou elasticsearch.Elasticsearch je inštalovaný na inom poli ako hlavný webový server.

Nastavil som HTTP autentifikáciu na elasticsearch box pomocou nginx. Toto má zabrániť neoprávnenému prístupu k elastickému vyhľadávaniu.

Konfigurácia Haystack vyzerá takto:

HAYSTACK_CONNECTIONS = {
"default": {
"ENGINE": "haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine",
"URL": "http://USERNAME:PASSWORD@DOMAIN:PORT/",
"INDEX_NAME": "haystack",
},
}

S týmto nastavením mám chybu spojenia:

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")))

Ak vypnem autentifikáciu HTTP a aktualizujem URL zodpovedajúcim spôsobom http://DOMAIN:PORT/ spája sa bez problémov.

Mohlo by byť, že Haystack (alebo elasticsearch-py (http://www.elasticsearch.org/guide/en/elasticsearch/client/python-api/current/) nepovoľuje použitie HTTP autentifikácie v URL? Všimol som si, že to je problém s Solrom - Solr autentifikácia (pomocou Django Haystack)

odpovede:

5 pre odpoveď č. 1

Pre ostatných s rovnakým problémom pridajte kwargs do config:

"KWARGS": {
"port": parsed.port,
"http_auth": (parsed.username, parsed.password),
}

pozri: https://github.com/toastdriven/django-haystack/issues/1046