Я правильно настроил DNSmasq, чтобы указать любые домены * .dev на localhost. Все мои apache vhosts настроены на соответствующие папки, но я не получаю ответа от локальных сайтов. Я вырывал свои волосы и искал в Интернете различные ответы без успеха. Просто чтобы указать, что эта настройка работала ранее, а обновление High Sierra Security просто сломало все. Вот мой конфиг хоста:

<Directory "/www">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

<Virtualhost *:80>
  VirtualDocumentRoot "/www/home/wwwroot"
  ServerName home.dev
  UseCanonicalName Off
</Virtualhost>

<Virtualhost *:80>
  VirtualDocumentRoot "/www/sites/%1/wwwroot"
  ServerName sites.dev
  ServerAlias *.dev
  UseCanonicalName Off
</Virtualhost>

<Virtualhost *:80>
  VirtualDocumentRoot "/www/sites/%-7+/wwwroot"
  ServerName xip
  ServerAlias *.xip.io
  UseCanonicalName Off
</Virtualhost>

Я только что заметил, что ping home.dev возвращает 127.0.0.1, но dig home.dev возвращает 127.0.53.53

И вот мое разрешение DNS:

DNS configuration

resolver #1
  search domain[0] : home
  nameserver[0] : 8.8.8.8
  nameserver[1] : 208.67.220.220
  if_index : 9 (en7)
  flags    : Request A records
  reach    : 0x00000002 (Reachable)

resolver #2
  domain   : local
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300000

resolver #3
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300200

resolver #4
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300400

resolver #5
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300600

resolver #6
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300800

resolver #7
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 301000

resolver #8
  domain   : local
  nameserver[0] : 127.0.0.1
  flags    : Request A records, Request AAAA records
  reach    : 0x00030002 (Reachable,Local Address,Directly Reachable Address)

resolver #9
  domain   : dev
  nameserver[0] : 127.0.0.1
  flags    : Request A records, Request AAAA records
  reach    : 0x00030002 (Reachable,Local Address,Directly Reachable Address)

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : home
  nameserver[0] : 8.8.8.8
  nameserver[1] : 208.67.220.220
  if_index : 9 (en7)
  flags    : Scoped, Request A records
  reach    : 0x00000002 (Reachable)

1 ответ1

1

Хорошо, я нашел решение. Домены dev кажутся официальными доменами, которые вы можете зарегистрировать, и поэтому в моем разрешении DNS возник конфликт, в результате чего он указывал на 127.0.53.53, который обычно присваивается IP при возникновении конфликта. Это означает, что * .dev пытался разрешить через мой публичный DNS-параметр и через мой localhost, создав конфликт. Я переключил свои локальные доменные имена на * .test, и все сразу заработало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .