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 desnameserver
um einen kompatiblen und/oder öffentlichen DNS-Server zu verwenden, z. B.1.1.1.1
oder8.8.8.8
Siehe auch GODRIVER-829