локальная веб-разработка не работает на OSX

370
Eric Trometer

Я правильно настроил 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) 
0

1 ответ на вопрос

1
Eric Trometer

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

Похожие вопросы