Не удается разрешить локальный хост на Mac OS X Server
У меня есть сервер под управлением OS X Server 10.5, и он не может разрешить localhost до 127.0.0.1.
Когда я пытаюсь пинговать, вот что происходит:
SSH и веб-браузеры получают аналогичные результаты (неизвестный хост). Если я пытаюсь использовать 127.0.0.1 или IP-адрес, назначенный в локальной сети, все вышеперечисленное работает.
Вот содержимое моего файла / etc / hosts:
У меня не работает локальная служба DNS.
У кого-нибудь есть идеи, почему это может происходить или как я могу это исправить?
У меня была такая же проблема с Горным Львом (10.8.2). Я решил это, отключив «Режим невидимости» в разделе «Безопасность и конфиденциальность» -> «Брандмауэр» -> «Параметры брандмауэра».
Вероятно, это не связано с вашим первоначальным вопросом, но есть другая проблема, которая может повлиять на поиск DNS в Mac OS X Lion, в частности, localhost или любые другие записи, которые могут у вас возникнуть /etc/hosts .
Очевидно, что /etc/hosts файл больше не поддерживает несколько доменов на строку в файле, поэтому каждая запись нуждается в отдельной строке:
Нашел это через блог Джастина Кармони . Он продолжает описывать другое «интересное» поведение, если вы используете /etc/hosts , так что читайте, если у вас все еще есть проблемы.
Я знаю, что уже немного поздно, но в моем случае изменив окончание строк на UNIX, заменив табуляции пробелами и сохранив файл, так как UTF-8 заставил его работать на Mountain Lion (10.8.2)
Надеюсь, что эта работа для кого-то еще.
Кодирование может быть проблемой, я отредактировал файл / etc / hosts с помощью Sublime Text, что привело меня к проблеме, а его повторное редактирование с помощью vi устранило проблему. убедитесь, что cat выводит содержимое.
На моем компьютере (те же симптомы) мой /etc/hosts файл был заминирован, чтобы использовать окончания строк в Macintosh (CR— 0x13 ) вместо окончаний строк Unix (LF— 0x10 ). В противном случае файл был верным.
Мое решение было:
У меня такая же проблема. Я только что установил новый ноутбук Mac, и он работал, пока я не мигрировал со своего старого. Теперь ping localhost не может разрешиться. Должны быть какие-то настройки, я где-то меняюсь, но я не знаю, где .
Я обнаружил, что «пинг localhost». работает. Добавление конечной точки предназначено для обхода поиска имени «localhost» в других поисковых доменах. Это круто, но я до сих пор не понимаю, почему не работает запись / etc / hosts .
Каким-то образом запись службы каталогов была не синхронизирована с файлом / etc / hosts. И когда в конфигурации служб каталогов нет IP-адреса, попытка разрешить имя переходит к mDNSResponder, который запрашивает DNS.
В конце концов, он снова начал работать. Я нашел некоторую неортодоксальную (и ненужную) конфигурацию DNS на сервере и изменил ее на то, что должно было быть, и, возможно, это решило проблему? Я не уверен, хотя, потому что я не пытался решить проблему с localhost в то время, и поэтому я не проверял localhost до и после.
Я отредактировал мой / etc / hosts с помощью Sublime Text, и у меня возникла та же проблема, попробуйте отредактировать и сохранить файл / etc / hosts с помощью vi или nano, который исправил это для меня .
Всегда обращайте внимание на журнал ошибок Apache, потому что не все ошибки выбрасываются в консоли при запуске службы. Могут быть проблемы, даже если синтаксис в порядке.
По умолчанию они должны храниться в / var / log / apache2 /, а файл журнала — error.log.
У меня была точно такая же проблема, что хост мог быть решен, и apache не сообщил о проблеме в консоли. Простая «проблема» заключалась в том, что error.log, определяющий мою vhost-конфигурацию, не мог быть создан после замены внешнего диска.
Удалите файл hosts и посмотрите, что будет потом. Также перезагрузите компьютер без подключения к сети.
Источник
Не удается разрешить localhost на сервере Mac OS X
у меня есть сервер под управлением OS X Server 10.5, и он не может разрешить localhost до 127.0.0.1.
когда я пытаюсь пинг это то, что происходит:
SSH и веб-браузеры получают аналогичные результаты (uknown host). Если я пытаюсь использовать 127.0.0.1 или IP-адрес, назначенный в локальной сети, все вышеперечисленное работает.
вот содержимое моего файла/etc / hosts:
у меня нет локальной службы DNS.
кто-нибудь знает, почему это может быть происходит или как я могу это исправить?
10 ответов
У меня была такая же проблема с Mountain Lion (10.8.2). Я решил это, отключив «скрытый режим» в Security & Privacy -> Firewall -> Firewall Options.
это, вероятно, не связано с вашим исходным вопросом, но есть еще одна проблема, которая может повлиять на поиск DNS в Mac OS X Lion, в частности localhost или любые другие записи, которые вы можете иметь в /etc/hosts .
видимо /etc/hosts файл больше не поддерживает несколько доменов в строке файла, поэтому каждая запись должна иметь свою собственную строку:
нашел это через Джастин Carmony блог. Он продолжает описывать какое-то другое» интересное » поведение, если вы использование /etc/hosts , Так что читайте, если у вас все еще есть проблемы.
Я знаю, что немного поздно, но в моем случае изменение окончаний строк на UNIX, замена табуляции пробелами и сохранение файла как UTF-8 заставило его работать на Mountain Lion (10.8.2)
надеюсь, что это сработает для кого-то другого.
кодирование может быть проблемой, я отредактировал /etc / hosts, используя возвышенный текст, который получает меня в проблему reediting его с помощью vi Исправлена проблема. убедитесь в этом cat выводит содержимое.
на моем компьютере (те же симптомы) мой /etc/hosts файл был munged использовать окончание строки Macintosh (CR — 0x13 ) вместо окончания строк Unix (LF- 0x10 ). В остальном файл был правильным.
мое решение было:
У меня та же проблема. Я просто создал новый ноутбук mac, и он работал, пока я не перешел с моего старого. Теперь ping localhost не может разрешить. Должно быть, что-то изменилось, но я не знаю, где.
Я обнаружил, что «пинг localhost.» завод. Добавление конечной точки означает обход поиска имени «localhost» в других доменах поиска. Это круто, но я все еще не понимаю, почему запись /etc/hosts не работает.
каким-то образом запись служб каталогов не синхронизировалась с файлом /etc/hosts. А когда нет IP-адрес в конфигурации служб каталогов, пытаясь решить то имя идет mDNSResponder в которой просит ДНС.
В конце концов он просто начал снова работать. Я нашел некоторые неортодоксальные (и ненужные) настройки DNS на сервере и изменил это на то, что должно было быть, и, возможно, это решило проблему? Я не могу быть уверен, хотя, потому что я не пытался решить проблему localhost в то время, и поэтому я не тестировал localhost до и после.
я отредактировал свой/etc / hosts с помощью Sublime Text и имел ту же проблему, попробуйте отредактировать и сохранить файл /etc/hosts с помощью vi или nano, которые исправили это для меня .
когда-либо убедитесь, что прочитали журнал ошибок Apache, потому что не все ошибки выбрасываются в консоли при запуске службы. Могут возникнуть проблемы, даже если синтаксис в порядке.
по умолчанию они должны храниться в /var / log/ apache2 / и файл журнала error.бревно.
У меня была точно такая же проблема, что хост может быть решена, и apache не сказал никакой проблемы в консоли. Простой «проблемой» было то, что ошибка.журнал определен мой vhost-конфигурация не может создается после замены внешнего диска.
Источник
Safari не может достичь localhost (127.0.0.1)
Я столкнулся с действительно странной проблемой Mac: Safari не может подключиться к локальному хосту, тогда как все другие приложения могут подключаться как обычно (Firefox, Chrome, ping и т. д.).
Мой /etc /hosts — стандартная настройка:
Вопрос: Кто-нибудь еще столкнулся с этим? В чем может быть проблема?
Обновление # 1: У меня есть сервер, работающий на localhost: 8080. При доступе к Safari я получаю сообщение об ошибке «Safari не может подключиться к серверу». » http: //localhost: 8080 /» работает безупречно в Firefox и Chrome.
Обновление № 2: та же проблема с » http://127.0.0.1:8080/» — так это не похоже на разрешение localhost на 127.0.0.1.
6 ответов
У меня это было раньше — с помощью http: //computername.local/ работал для меня, но я не уверен, почему это было бы иначе, чем просто использование имени в файле хоста.
из вашего файла /etc /hosts. По-видимому, это вызвано поддержкой IPv6 в Safari.
Некоторые приложения решают связать только один интерфейс — 192.168.13.37, например, если это адрес, назначенный eth0 или такой, — вместо использования 0.0.0.0 для всех интерфейсов.
Другие могут использовать только адреса IPv6 ::1 (localhost) или :: (все интерфейсы). Попробуйте http://[::1]:8080/ в этом случае.
Я не буду отвечать на ваш вопрос напрямую, но предлагаю альтернативное решение: используйте virtualhostx для управлять локальным DNS. См. Также, если MAMP не является хорошим решением для ваших местных потребностей развития (если это то, что вы за ним).
Чтобы убедиться, что это не проблема с вашим веб-сервером (например, @nagul спросил: какой сервер вы используете?), на моем 10.6 Snow Leopard с IPv6 осталось automatic и даже с 127.0.0.1 testing.localhost добавлено в мой /etc/hosts , следующее работает отлично
- Измените порт Listen встроенного Apache с 80 до 8080:
sudo vi /etc/apache2/httpd.conf - Запустите встроенный Apache, включив «Системные настройки», «Общий доступ», «Обмен через Интернет». Или перезапустите, используя: sudo apachectl restart
Аналогично, для меня нет проблем с использованием:
- python -m SimpleHTTPServer 8080 литий>
Я знаю, что вы заявили, что не используете прокси. На всякий случай есть какие-то сомнения: последние версии Firefox позволяют выбирать между сетевыми настройками Firefox (что было единственным вариантом в более старых версиях) и системными настройками. Safari всегда использует системные настройки. Разумеется, хорошие настройки прокси-сервера будут игнорировать локальные адреса (по умолчанию на настройках прокси-сервера Mac для обхода для этих хостов и доменов: * .local, * .lan, 169.254 /16 ). Тем не менее, можно проверить, работает ли Firefox, когда он использует системные настройки так же, как Safari. (Настройки Firefox, Дополнительно, вкладка Сеть, кнопка Настройки.)
(Все в журналах сервера или в журналах консоли? Какая версия Mac OS?)
похоже, что ваш сервер может не работать на ip и порт, который вы ожидаете. что выводится, когда вы запускаете в терминале следующее?
вы должны увидеть строку, соответствующую вашему серверу. если строка не отображается, ваш сервер может работать на другом порту.
Источник
403 Запрещенная ошибка в Mac OS X Localhost
Я настроил Общий веб-доступ в Системных настройках на Mac OS X 10.6 и щелкнул ссылку, которую он мне дал. К сожалению, Apache дал мне эту ошибку 403:
У вас нет прав доступа к /
myusername/index.html на этом сервере.
Журнал доступа отображает: 10.0.1.2 — — [30/Jun/2010:16:25:15 -0700] «GET /
myusername/ HTTP/1.1″ 403 210
Журнал ошибок отображает: [Wed Jun 30 16:26:09 2010] [error] [client 10.0.1.2] client denied by server configuration: /Users/myusername/Sites/
Как ни странно, доступ к http: // localhost работает нормально. Просто с двумя пользовательскими папками у меня возникли проблемы, другая пользовательская папка, которая новее моего обновления системы, работает нормально.
Раньше это работало на моей машине в Leopard, поэтому я все изменил
/Sites на 755, что не принесло пользы. Какие-либо предложения? Я полагаю, что я сделал что-то с моей машиной, что вызвало это, так как я не могу себе представить, что Apple что-то напутает.
Я настроил PEAR с этими инструкциями , но я понятия не имею, может ли это быть причиной этого.
myusername/index.html» является нечетным — это должно быть либо «
myusername / index.html», либо это должно быть » localhost /
myusername / index.html «, или что-то еще аналогичный. Просто начинать с /, а затем добавлять
myusername пахнет смешно. Помимо (или вместо) ответа на этот вопрос, вы можете зайти в Console.app (/Applications/Utilities/Console.app) и найти apache2 access_log и error_log. Потяните это вверх, возможно, очистите дисплей, а затем снова попробуйте свой URL, чтобы увидеть, что говорит вам журнал ошибок.
myusername / index.html , но ошибка отображает часть
У Apple есть документ поддержки для этой проблемы . Исправление проблемы предполагает создание файла /etc/apache2/users/yourusername.conf ( имя_пользователь является счет короткого именем , например , danielbeck — это, как правило , имя вашей домашней папки в /Users ) со следующим содержанием:
После этого запустите sudo chown root:wheel /etc/apache2/users/yourusername.conf и перезапустите Apache.
Чтобы Apache увидел файл, пользователь, с которым работает Apache (вероятно, www или _www ), должен иметь доступ к каталогам сайтов этих пользователей.
/Sites Недостаточно иметь доступ для чтения / выполнения к содержимому , потому что ему нужно разрешить переход / по пути вниз
/Sites . Поэтому убедитесь , что / , /Users , /Users/myusername , и /Users/myusername/Sites все они имеют по крайней мере , a+x разрешение (бит Execute в каталогах позволяет , что пользовательский класс для обхода каталога, даже если доступ на чтение не допускается).
Если в каком-либо из этих каталогов не отображается последний x набор (для «других»), используйте что-то вроде chmod a+x . этого для этого каталога.
Если ACL для любого из этих каталогов показывает, что пользователю www было специально отказано в доступе, используйте соответствующие аргументы chmod для исправления ACL.
Для справки, я только что имел дело с этим, и ни один из ответов здесь не работал в моем конкретном случае. Я настраивал виртуальные хосты, но что еще более важно, мне нужны были мои файлы htaccess для реальной работы.
Я изменил «AllowOverride None» на «AllowOverride All» в моем файле /etc/apache2/users/USERNAME.conf, и все мои сайты начали запрещаться.
Я изменил его обратно, а затем изменил его только для одного сайта в моем файле httpd-vhosts.conf, и только этот сайт был запрещен.
Посмотрев журналы и увидев, что проблема заключалась в переписывании URL и отсутствии FollowSymLinks, я вернулся к файлу USERNAME.conf. Я переключаю «AllowOverride None» на «AllowOverride All» и добавляю «Options + FollowSymLinks» на следующей строке.
Вещи начали работать. Я пришел с использованием xampp на Windows, и многие из этих настроек уже были установлены для всего сервера, как я.
У меня была та же проблема: моя (старая) учетная запись была недоступна, но учетная запись другого пользователя, созданная после обновления до Lion, работала очень хорошо.
Убедившись, что ваш /etc/apache2/users/USERNAME.conf выглядит следующим образом:
сделать sudo chown root: wheel /etc/apache2/users/USERNAME.conf
похоже, что этот параметр разрешения не установлен во время обновления ОС, и пользователь Apache не может прочитать файл конфигурации и выдает ошибку.
По крайней мере, это решило это для меня.
Обновление для Lion в 10/2011 я должен был также добавить
UserDir включен, поэтому мой /etc/apache2/extra/httpd-userdir.conf выглядит так:
Продолжение разговора с комментариями к первому вопросу. Проверьте свой /etc/apache2/httpd.conf файл. На моей машине у меня есть это:
Я подозреваю, что ваше закомментировано. Я смутно припоминаю, как менял это вручную при переходе с 10,5 на 10,6, и значение по умолчанию изменилось.
Это, вероятно, очевидно, но вам придется использовать sudo для редактирования файла, потому что он будет принадлежать пользователю root.
В моем случае это каталог XAMPP + Mac OS X 10.7 + в папке Dropbox (перекрестная ссылка на мой другой вопрос в переполнении стека)
Источник