MeWrite Docs

DNS: NXDOMAIN - Domain not found

DNSでドメイン名が解決できない場合のエラー原因と解決策

概要

DNSクエリでドメイン名が存在しないと応答された場合のエラーです。

エラーメッセージ

``` getaddrinfo ENOTFOUND example.com ```

または

``` NXDOMAIN ```

原因

  1. ドメイン名のタイプミス: スペルミス
  2. DNSレコード未設定: ドメインは存在するがレコードがない
  3. DNS伝播の遅延: 新規設定後の伝播待ち
  4. DNSサーバーの問題: 使用中のDNSサーバーの障害

解決策

1. ドメイン名を確認

```bash

正しいドメイン名か確認

dig example.com

別のDNSサーバーで確認

dig @8.8.8.8 example.com dig @1.1.1.1 example.com ```

2. DNSレコードを確認

```bash

Aレコード

dig example.com A

CNAMEレコード

dig www.example.com CNAME

全レコード

dig example.com ANY ```

3. DNSキャッシュをクリア

```bash

macOS

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Linux (systemd-resolved)

sudo systemd-resolve –flush-caches

Windows

ipconfig /flushdns ```

4. /etc/hosts で一時対応

```bash

/etc/hosts

192.168.1.100 myapp.local ```

5. DNSサーバーを変更

```bash

/etc/resolv.conf

nameserver 8.8.8.8 nameserver 8.8.4.4 ```

6. アプリケーションでのリトライ

```javascript const dns = require(‘dns’).promises;

async function resolveWithRetry(hostname, retries = 3) { for (let i = 0; i < retries; i++) { try { return await dns.resolve(hostname); } catch (err) { if (err.code === ‘ENOTFOUND’ && i < retries - 1) { await new Promise(r => setTimeout(r, 1000 * (i + 1))); continue; } throw err; } } } ```

よくある間違い

  • www有り/無しの違い
  • サブドメインの設定漏れ
  • TTLを考慮しない変更確認

関連エラー

関連エラー

Network の他のエラー

最終更新: 2025-12-10