/ / Django Haystack接続エラー - http認証を使用する - django、elasticsearch、django-haystack、http-authentication、pyelasticsearch

HTTP認証を使用したDjango Haystack接続エラー - django、elasticsearch、django-haystack、http-authentication、pyelasticsearch

私はHaystackを使用してelasticsearchのインストールに接続して対話します。ElasticsearchはメインWebサーバーとは別のボックスにインストールされます。

私は、nginxを使用してelasticsearchボックスでHTTP認証を設定しました。これは、elasticsearchへの不正アクセスを止めるためです。

Haystackの設定は次のようになります。

HAYSTACK_CONNECTIONS = {
"default": {
"ENGINE": "haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine",
"URL": "http://USERNAME:PASSWORD@DOMAIN: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認証を無効にしてURLを更新すると http://DOMAIN:PORT/ それは問題なく接続します。

Haystack(またはelasticsearch-py(http://www.elasticsearch.org/guide/en/elasticsearch/client/python-api/current/)URLでHTTP認証を使用できないのですか?これはSolrの問題です - Solr認証(Django Haystackを使用)

回答:

回答№1は5

同じ問題の他の人には、kwargsをconfigに追加してください:

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

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