ホームページ > バックエンド開発 > Golang > Go アプリケーションが「DNS メッセージをアンマーシャリングできません」というエラーで Ubuntu 上の Mongo Cloud に接続できないのはなぜですか?

Go アプリケーションが「DNS メッセージをアンマーシャリングできません」というエラーで Ubuntu 上の Mongo Cloud に接続できないのはなぜですか?

Susan Sarandon
リリース: 2024-11-25 01:11:11
オリジナル
576 人が閲覧しました

Why Does My Go Application Fail to Connect to Mongo Cloud on Ubuntu with a

Ubuntu 上の Go から Mongo Cloud データベースへの接続: トラブルシューティング

Go を使用して Mongo Cloud データベースに接続すると、特にオペレーティング システム間で移行する場合に問題が発生することがあります。 Ubuntu で発生したこのエラー「uri 解析エラー...DNS メッセージをアンマーシャリングできません」は、MongoDB Go ドライバーに直接関係するものではなく、Go バージョン 1.11.x の特定の動作に起因します。

根本原因

このエラーは、Go バージョン 1.11.x、特にnet.lookupSRV() 関数。これにより、RFC-2782 で定義されているように、SRV レコード内の圧縮ドメイン名が拒否されます。埋め込み Docker DNS などの一部の DNS サーバーは、圧縮されたドメイン名を含む SRV レコードを返し、エラー メッセージが表示される場合があります。

回避策

この問題を解決するには、次の 2 つのオプションがあります。

  • Use non-SRV MongoDB URL: を使用しない MongoDB URI を作成しますSRV レコード。データベースに直接接続します。
  • /etc/resolv.conf を更新します: resolv.conf ファイルを変更し、ネームサーバー アドレスを準拠するパブリック DNS サーバー (1.1 など) に置き換えます。 .1.1または8.8.8.8。これにより、システムが SRV レコードのフォーマット要件に準拠した DNS サーバーを使用するようになります。

追加リファレンス

詳細については、MongoDB Go ドライバーの問題、GODRIVER- を参照してください。 829.

以上がGo アプリケーションが「DNS メッセージをアンマーシャリングできません」というエラーで Ubuntu 上の Mongo Cloud に接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート