Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
Ich hatte ein Problem mit der Verbindung des Elasticsearch-Dienstes zu einer Rails-Anwendung (Coolify in der Cloud, Server bei Hetzner).
Ich konnte lange nicht verstehen, welches Format für die Umgebungsvariable ELASTICSEARCH_URL in Rails erforderlich ist. Ich habe verschiedene Varianten ausprobiert - mit Passwort, ohne Passwort, über eine lokale URL, über eine externe Domain - aber ich erhielt ständig einen TCP-Verbindungsfehler.
Am Ende habe ich es verstanden
Das richtige Format für ELASTICSEARCH_URL (wird im Rails-Container hinzugefügt) sollte so aussehen*:
http://login:password@es-container-name:9200
*SSL ist ein separates Thema
Der Schlüsselpunkt ist, den Container-Namen zu verwenden und nicht die externe URL, die im Coolify Web UI bereitgestellt wird.
Den Namen des Containers kann man leicht im Coolify-Interface auf dem Tab Allgemein finden.
Das heißt, wenn Sie etwas haben wie:
http://<container-name>.server-ip.sslip.io:9200
muss man für die Verbindung innerhalb des Docker-Netzwerks genau den Teil <container-name> nehmen und ihn in ELASTICSEARCH_URL verwenden (oder was auch immer Sie verwenden).
Danach hat sich Rails erfolgreich mit Elasticsearch verbunden, ohne TCP-Fehler.
Vielleicht spart das jemandem Zeit, denn die Dokumentation in Coolify ist etwas abstrakt.
Dieser Beitrag hat noch keine Ergänzungen vom Autor.