Я встретился с действительно странной проблемой с Mac: Safari не может соединиться с localhost, тогда как все другие приложения могут соединиться как нормальные (Firefox, Chrome, ping, и т.д.).
Мой/etc/hosts является стандартной установкой:
$ egrep localhost /etc/hosts
# localhost is used to configure the loopback interface
127.0.0.1 localhost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 testing.localhost
Вопрос: кто-либо еще встретился с этим? Какова могла быть проблема?
Обновление № 1: у Меня есть сервер, работающий localhost:8080. При доступе от Safari я добираюсь, сообщение об ошибке "Safari не могло соединиться с сервером". "http://localhost:8080/" работает безупречно в Firefox и Chrome.
Обновление № 2: Та же проблема с "http://127.0.0.1:8080/" - таким образом, это, кажется, не связано с разрешением localhost к 127.0.0.1.
Я думаю, что нам нужно немного больше информации на основе Вашего вопроса.
Я собираюсь предположить, что у Вас есть веб-сервер, работающий для принятия запросов? Я в настоящее время не делаю, и Safari не соединится с 127.0.0.1, потому что он "Не удалось найти 127.0.0.1" - даже при том, что я могу проверить с помощью ping-запросов его очень хорошо.
Таким образом, сначала у Вас должно быть что-то выполнение. Во-вторых, имейте Вас, пытался соединиться с testing.localhost с Safari, просто упакуйте эти две записи, путают Safari (это совершенно возможно).
Когда Вы говорите, что "приложения могут соединиться как нормальные" с Chrome и Firefox, что Вы видите? Веб-страница Вы ожидаете видеть? Другая ошибка?
Править
Я загрузил и установил MAMP, и я не мог воспроизвести эту ошибку.
Некоторые потоки форума предполагают, что разрешение IPv6 вызывает эту проблему. Я был бы склонен выключить IPv6 и удалить запись из файла hosts (временно только для тестирования)
Примените, перезапустите и посмотрите, как это идет.
Я имел, это происходит, прежде - использование http://computername.local/ работало на меня, но я не уверен, почему это отличалось бы, чем просто использование имени в файле хоста.
Некоторые приложения решают связать только с единственным интерфейсом - 192.168.13.37, например, если это - адрес, присвоенный eth0 или такому - вместо того, чтобы использовать 0.0.0.0 для всех интерфейсов.
Другие могли бы использовать только адреса IPv6 ::1
(localhost) или ::
(все интерфейсы). Попробовать http://[::1]:8080/
в этом случае.
я не собираюсь отвечать на Ваш вопрос непосредственно, но предлагать альтернативное решение: используйте virtualhostx для управления локальным DNS. См. также, если MAMP не является хорошим решением для Ваших локальных нужд развития (если это - то, что Вы после).
Для обеспечения это не проблема с веб-сервером (как @nagul, который спрашивают: какой сервер Вы используете?), на моих 10,6 Snow Leopard с IPv6, оставленным в автоматическом, и даже с 127.0.0.1 testing.localhost
добавленный к моему /etc/hosts
, следующее хорошо работает:
Listen
порт встроенного Apache от 80 до 8 080:sudo vi /etc/apache2/httpd.conf
sudo apachectl restart
Аналогично, для меня никакое использование задач:
python -m SimpleHTTPServer 8080
Я знаю, что Вы заявили, что не используете прокси. На всякий случай существует любое сомнение: последние версии Firefox позволяют Вам выбирать между определенными для Firefox параметрами сети (который был единственной опцией в более старых версиях), и параметры настройки системы. Safari всегда использует параметры настройки системы. Конечно, хорошие настройки прокси проигнорировали бы локальные адреса (значения по умолчанию на моем Mac для Обходных настроек прокси для этих Хостов и Доменов: *.local, *.lan, 169.254/16). Однако, можно было проверить, работает ли Firefox все еще, заставляя это использовать параметры настройки системы точно так же, как Safari. (Предпочтения Firefox, Усовершенствованные, вкладка Network, настройки кнопок.)
(Что-нибудь в журналах сервера или Консольных журналах? Какая версия Mac OS?)
Каков Ваш DNS? некоторые поставщики DNS как OpenDNS зависят от Ваших настроек, мог бы препятствовать тому, чтобы Вы шли куда-нибудь, таким образом, для тестирования его полностью удаляют DNS и удостоверяются, что у Вас нет прокси, настроенного также
это кажется, что Ваш сервер не может работать на IP и порте, который Вы ожидаете. что производится, когда Вы выполняете следующее в терминале?
netstat -anp tcp | grep 8080
необходимо видеть, что строка соответствует серверу. если никакая строка не появляется, то Ваш сервер может работать на другом порте.