Я запускаю веб-сервер локально на моем Mac . Я использую Virtualbox для запуска различных гостевых ОС Windows благодаря http://www.modern.ie/virtualization-tools Сервер на моем хост-компьютере работает под управлением WordPress в многосайтовой конфигурации и требует наличия имя хоста в запросе для обслуживания правильного сайта. URL-адреса IP-адресов не будут работать.
Сетевой адаптер Virtualbox находится в режиме NAT, и я нашел IP-адрес своего хост-компьютера. Я могу заставить все работать, отредактировав файл hosts в гостевой ОС Windows. Запись выглядит примерно так:
10.1.2.3 server.dev
Затем в Windows, если я перехожу к server.dev, все работает как надо.
Итак, мой вопрос ... Могу ли я настроить его так, чтобы мне не приходилось редактировать файл hosts в моей гостевой ОС каждый раз при изменении IP-адреса моей главной машины? Что-то вроде обратного порта вперед, чтобы я мог установить запись в файле hosts так ...
10.1.99.99 server.dev
и Virtualbox будет прослушивать запрос на 10.1.99.99 и менять его на 127.0.0.1?
Ваше решение работает, но я очень удивлен, что оно работает. Кажется, это вызовет проблемы, если вы где-то используете 10.0.2 / 24 в своей сети. Альтернативой является изменение ваших гостей VirtualBox. Сетевые режимы на Bridged, рандомизируют их MAC-адреса (если они еще не уникальны) и получают их собственные IP-адреса в сети. В этот момент они могут жить на вашем компьютере, но они будут вести себя так же, как чужой компьютер в соседнем офисе, поэтому они будут обеспечивать более достоверные настройки тестирования.
Оказывается, это очень просто. Мне просто нужно было отредактировать файл хостов Windows, указывающий
10.0.2.2 server.dev
Что-то вроде 10.0.2.2, являющегося шлюзом по умолчанию для соединений NAT? Я увидел решение из этого ответа -> https://superuser.com/questions/144453/virtualbox-guest-os-accessing-local-server-on-host-os
Подход кувалдой заключается в том, чтобы установить DNS-сервер, который прослушивает и обслуживает DNS-информацию в сети только для виртуальных ящиков (я бы рекомендовал dnsmasq через homebrew.) Это в конечном итоге зависит от того, насколько вы удобны с DNS, или сколько времени вы готовы потратить на его выяснение. Если есть интерес, я с радостью поясню.