Короче моя проблема:

Ввод http://app01:8084/ в браузер не находит мой сервер. Ввод http://app01.my.domain.com:8084/ работает.

С локальным именем Wireshark даже не перехватывает запрос DNS. nslookup может правильно искать "app01".

Детали:

(Windows 7 Ult. 64, VirtualBox 4.3.10, VMWare Workstation 10.0.2)

У меня есть виртуальная машина в VirtualBox, которая содержит приложение rails. Переадресация портов была установлена как localhost:8084 -> vm:80, 8184 -> 443 и 2242 -> 22. У меня есть сервер Mac OS X Mavericks (OS X Server), который также является сервером имен. На сервере имен есть записи для моей рабочей станции, например:

w7ult64.my.domain.com -> 192.168.1.115 Добавлены псевдонимы, среди которых "name1", "app01". (Я добавил "name1" несколько месяцев назад, и URL-адреса, такие как http://name1:8084/ работают хорошо.)

Теперь я добавил псевдоним app01, и он не работает. Я запустил браузер. Я запустил WireShark для захвата всех сетевых интерфейсов. Я ввожу http://app01:8084/ в браузер, и он начинает крутиться. Я смотрю на захват Wireshark, и нет ни одного поиска DNS.

Я запускаю nslookup из командной строки. app01 решен отлично, и я вижу соответствующие поиски в захвате Wireshark.

Сетевые интерфейсы имеют «my.domain.com» в качестве суффикса DNS. («my.domain.com» только в этом обсуждении - фактический домен принадлежит мне.)

Поэтому я немного запутался, почему браузер не может сделать то, что может сделать nslookup.

Глядя на захват Wireshark, я заметил, что когда браузер пытается найти app01, в определенной сети происходит много записей повторной передачи. Эта сеть взята из virtualbox («VirtualBox Host-Only Network # 5»), которая используется в качестве сети только для хоста в этой фактической виртуальной машине на адаптере 2.

Что я могу сделать, чтобы это исправить?

(Я также заметил это: после запуска рабочей станции Opera и Chrome занимают много секунд (20?) чтобы перейти на внешний сайт. Firefox поднимает это немедленно. Почему-то я подозреваю, что могут быть различия в том, как эти браузеры выполняют поиск DNS?)

1 ответ1

0

Проблема была вызвана записью в файле hosts, который был создан плагином hostmanager, который я использовал с моей установкой VirtualBox / Vagrant. (На самом деле проблема была в том, что я пытался назначить приложение app01 моей рабочей станции, где оно уже было (локально) назначено виртуальной машине.)

Поскольку запись находится в файле hosts, я не вижу DNS-запросов. Поскольку в URL-адресе я указал сопоставленный порт (8084), он попытался подключиться к порту, который не открыт по «фактическому IP-адресу». Когда я использую app01:80, это просто работает.

Еще один намек на то, что с другого компьютера работает app01:8084.

Итак, вкратце: если вы не видите DNS-запросов, посмотрите файл hosts :)

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