Kontext
Habe gerade angefangen, elastic search
zu benutzen, habe es auf dem Server installiert, kann curl
und telnet
bis port 9200
auf local machine(server)
, kann aber keine Verbindung herstellen, wenn es von einem anderen Rechner kommt.
Ich habe die Firewall sowohl auf dem Server als auch auf dem Client deaktiviert, da Lösungen, die ich aus dem Internet bekommen habe, Vorschläge vorgeschlagen und auch versucht haben, Vorschläge zu finden, die auf dem Link unten gefunden wurden, aber nicht funktionieren konnten.
Frage
Kann jemand mir helfen, wie das funktioniert, danke im Voraus
Da Sie Elasticsearch gerade installiert haben, verwenden Sie vermutlich ES 2.0 oder 2.1. Sie müssen wissen, dass Elasticsearch seit dem Release 2.0 standardmäßig an localhost bindet (als Sicherheitsmaßnahme, um zu verhindern, dass sich Ihr Knoten mit anderen Knoten im Netzwerk verbindet, ohne dass Sie ihn kennen).
Sie müssen also einfach Ihre elasticsearch.yml
Konfigurationsdatei bearbeiten und die network.bind_host
Einstellung wie folgt ändern:
Dann müssen Sie Ihren Knoten neu starten und von einem Remote-Host aus darauf zugreifen.
Lassen Sie uns Ihr Szenario neu erstellen. Ich habe frisch installiertes elasticsearch auf meiner Maschine gestartet. Jetzt kann ich Curl auf Port 9200
ausführen %Vor%Wenn Sie die Listening-TCP-Ports auf Ihrem Server überprüfen, die der Java-Dienst geöffnet hat.
%Vor%Sie können sehen, dass elasticsearch auf 127.0.0.1 wartet, sodass Sie offensichtlich nicht über das Netzwerk auf Port 9200 zugreifen können. Lassen Sie es mit wget vom Remote-Server überprüfen.
%Vor% Mitkönnen Sie die elasticsearch-Konfiguration ändern, um das Problem mit dem Befehl unter
zu beheben %Vor%oder
Öffnen Sie einfach die Elasticsearch-Konfigurationsdatei und suchen Sie nach network.bind_host und nehmen Sie die folgenden Änderungen vor
%Vor%Starten Sie dann Ihren elasticsearch-Dienst neu
%Vor%Jetzt können Sie es an allen Schnittstellen abhören.
Lasst uns den wget-Befehl von einem entfernten Rechner ausprobieren
%Vor% Für ElasticSearch Version 5 können Sie die Konfigurationsdatei /etc/elasticsearch/elasticsearch.yml
bearbeiten und die folgenden Zeilen hinzufügen
Die Cors werden für Plugins wie Head oder HQ auf Remote-Rechnern benötigt, weil sie Ajax XMLHttpRequest Anfragen stellen
Sie können auch network.host: 0
definieren, da es sich um eine Verknüpfung handelt, die bind_host und publish_host
Quellen:
Tags und Links elasticsearch