Heim >Backend-Entwicklung >Golang >Wie kann der Fehler „DNS-Nachricht kann nicht entmarshaliert werden' beim Herstellen einer Verbindung zu MongoDB Atlas von Golang unter Ubuntu behoben werden?

Wie kann der Fehler „DNS-Nachricht kann nicht entmarshaliert werden' beim Herstellen einer Verbindung zu MongoDB Atlas von Golang unter Ubuntu behoben werden?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-03 02:32:09492Durchsuche

How to Resolve

Herstellen einer Verbindung zur Mongo Cloud-Datenbank in Golang unter Ubuntu

Beim Versuch, eine Verbindung zu einer Mongo Cloud-Datenbank in Golang unter Ubuntu herzustellen, kann es sein, dass Benutzer auf die Fehlermeldung „DNS kann nicht entmarshallt werden“ stoßen Nachricht." Dieses Problem ist auf eine Änderung in Go-Version 1.11.x zurückzuführen, die sich bei der Verarbeitung von SRV-Einträgen strenger an RFC-2782 hält und einen Fehler auslöst, wenn ein autoritativer DNS-Server komprimierte Einträge sendet.

Die Lösung beinhaltet eine Problemumgehung für Go v1.11:

  1. Verwenden Sie eine Nicht-SRV-MongoDB URI: Ersetzen Sie den URI durch einen, der SRV nicht verwendet.
  2. Ändern Sie /etc/resolv.conf: Stellen Sie den Nameserver auf einen kompatiblen öffentlichen DNS-Server ein, z. B. 1.1. 1.1 oder 8.8.8.8, um komprimierte SRV-Datensätze zu vermeiden.

Wie in verwiesen GODRIVER-829, dieses Problem hängt nicht direkt mit dem MongoDB Go-Treiber zusammen, sondern mit der strengeren Handhabung von DNS-Einträgen in Go. Durch die Implementierung der vorgeschlagenen Problemumgehungen können Benutzer eine erfolgreiche Verbindung zur Datenbank unter Ubuntu herstellen.

Das obige ist der detaillierte Inhalt vonWie kann der Fehler „DNS-Nachricht kann nicht entmarshaliert werden' beim Herstellen einer Verbindung zu MongoDB Atlas von Golang unter Ubuntu behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn