MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Es kann keine Verbindung zur Mongo Cloud mongodb-Datenbank in Golang auf Ubuntu hergestellt werden

DNS-Nachricht kann nicht entpackt werden

Dies hängt nicht ganz mit dem MongoDB Go-Treiber zusammen.

Es gibt einen Patch in Go-Version 1.11.x #10622 net:Zieldomänennamen in SRV-Einträgen sollten nicht komprimiert werden, wodurch die Art und Weise, wie SRV-Einträge gelesen werden, eingeschränkt wird, um RFC-2782 zu folgen.

Wenn ein autoritativer DNS-Server (nicht konform) SRV-Einträge unter Verwendung der Domänennamenkomprimierung sendet, wird der net.lookupSRV() wird einen Fehler mit cannot unmarshal DNS message ausgeben (net/lookup_unix.go#L130). Beispielsweise übernimmt das eingebettete Docker-DNS möglicherweise die Komprimierung des Servernamens.

Die Problemumgehungen für Go v1.11 sind:

  • Verwenden Sie den Nicht-SRV-MongoDB-URI
  • Aktualisieren Sie den Inhalt von /etc/resolv.conf durch Ersetzen des nameserver um einen kompatiblen und/oder öffentlichen DNS-Server zu verwenden, z. B. 1.1.1.1 oder 8.8.8.8

Siehe auch GODRIVER-829