У мене немає таких проблем підключення до веб-сервера, коли він насправді слухає порт 80.
Якщо у вас немає жодного веб-сервера, ось що ви повинні отримати від терміналу, щоб показати, що дозвіл імен працює на всіх мережевих інтерфейсах, перш ніж telnet відмовиться від з'єднання з портом 80:
mac:~ me$ telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host
Якщо ви отримаєте різні результати, я б використовував scutil для визначення досяжності для вашого мережевого призначення:
mac:~ me$ scutil -r localhost
Reachable,Local Address
mac:~ me$ scutil -r loopback
Reachable
mac:~ me$ scutil -r 127.0.0.1
Reachable,Local Address
Можливо, варто перевірити, якщо у вас є LittleSnitch або інший брандмауер, який має правила, які блокують доступ до мережі або перезавантажуються в безпечний режим, щоб перевірити, чи є деякі розширення ядра або інший конфлікт, що запобігає доступності за промовчанням і доступ до локальних портів. Крім того, ви, безумовно, захочете перевірити будь-який веб-сервер, який ви працюєте, щоб переконатися, що він дійсно слухає порт 80:
mac:~ me$ sudo lsof -i :80 | egrep "PID|LISTEN"
Password:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 1645 root 8u IPv6 0x513627eaa81c8205 0t0 TCP *:http (LISTEN)
httpd 15851 _www 8u IPv6 0x513627eaa81c8205 0t0 TCP *:http (LISTEN)
httpd 72969 _www 8u IPv6 0x513627eaa81c8205 0t0 TCP *:http (LISTEN)
Крім того, закрийте всі веб-браузери або будьте готові до фільтрації цих мережевих з'єднань із зазначеного вище lsof
команда, оскільки вона показує всі з'єднання через порт 80.