Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Membetulkan Ralat \'tidak boleh unmarshal DNS message\' Semasa Menyambung ke MongoDB Cloud daripada Go on Ubuntu?

Bagaimana untuk Membetulkan Ralat \'tidak boleh unmarshal DNS message\' Semasa Menyambung ke MongoDB Cloud daripada Go on Ubuntu?

Patricia Arquette
Patricia Arquetteasal
2024-11-23 21:52:12334semak imbas

How to Fix the

Menyelesaikan masalah Sambungan Awan MongoDB dalam Go on Ubuntu: Ralat "tidak boleh unmarshal DNS message"

Ralat ini, "cannot unmarshal DNS message," berlaku apabila versi Go yang lapuk cuba menghuraikan nama domain termampat dalam rekod SRV. Ini tidak berkaitan langsung dengan pemacu MongoDB Go.

Punca:

Go versi 1.11 memperkenalkan pematuhan yang lebih ketat terhadap RFC-2782, yang menguatkuasakan pemformatan khusus untuk rekod SRV. Sesetengah pelayan DNS boleh memampatkan nama domain dalam rekod SRV mereka, yang akan ditolak oleh Go 1.11.

Penyelesaian:

  1. Gunakan URI Bukan SRV: Konfigurasikan URI MongoDB anda tanpa skema srv untuk mengelakkan penggunaan SRV rekod.
  2. Kemas kini /etc/resolv.conf: Gantikan alamat pelayan nama dengan pelayan yang mematuhi seperti 1.1.1.1 atau 8.8.8.8.
  3. Upgrade Go : Jika boleh, tingkatkan kepada Go 1.12 atau lebih tinggi, di mana isunya diselesaikan.

Nota Tambahan:

  • Ralat ini terutamanya ditunjukkan pada sistem Linux dalam persekitaran awan.
  • Jika anda pernah mengalami isu ini dan ia diselesaikan dengan sendirinya, ada kemungkinan pelayan DNS telah dikemas kini atau patch telah digunakan Pergi.

Jika anda melaksanakan salah satu penyelesaian, aplikasi anda seharusnya berjaya menyambung ke pangkalan data Awan MongoDB anda.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'tidak boleh unmarshal DNS message\' Semasa Menyambung ke MongoDB Cloud daripada Go on Ubuntu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn