ホームページ  >  記事  >  バックエンド開発  >  Ubuntu 上の Go から MongoDB クラウドに接続するときに発生する「DNS メッセージをアンマーシャリングできません」エラーを修正する方法

Ubuntu 上の Go から MongoDB クラウドに接続するときに発生する「DNS メッセージをアンマーシャリングできません」エラーを修正する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-23 21:52:12275ブラウズ

How to Fix the

Ubuntu 上の Go での MongoDB クラウド接続のトラブルシューティング: エラー「DNS メッセージをアンマーシャルできません」

このエラー「DNS メッセージをアンマーシャルできません」この問題は、古いバージョンの Go が SRV レコード内の圧縮されたドメイン名を解析しようとしているときに発生します。これは、MongoDB Go ドライバーとは直接関係ありません。

原因:

Go バージョン 1.11 では、SRV レコードに特定の形式を適用する RFC-2782 への準拠がさらに厳密になりました。一部の DNS サーバーは、SRV レコード内のドメイン名を圧縮する場合がありますが、Go 1.11 はこれを拒否します。

回避策:

  1. 非 SRV URI を使用する: SRV の使用を避けるために、srv スキームを使用せずに MongoDB URI を構成します。 records.
  2. Update /etc/resolv.conf: ネームサーバーのアドレスを 1.1.1.1 や 8.8.8.8 などの準拠サーバーに置き換えます。
  3. Upgrade Go : 可能であれば、問題が発生している Go 1.12 以降にアップグレードしてください。解決しました。

追加メモ:

  • このエラーは主にクラウド環境の Linux システムで発生します。
  • 以前に遭遇した場合この問題は自然に解決しましたが、DNS サーバーが更新されたか、パッチが適用された可能性があります。

いずれかの回避策を実装すると、アプリケーションは MongoDB クラウド データベースに正常に接続できるようになります。

以上がUbuntu 上の Go から MongoDB クラウドに接続するときに発生する「DNS メッセージをアンマーシャリングできません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。