Назад | Перейти на главную страницу

Virtualbox доступ к локальному хосту

Вопрос по Virtual Box 4.1.8
Итак, у меня Ubuntu 10.10 в качестве хост-машины и Windows Xp в качестве гостевой машины. На хост-машине есть tomcat с веб-приложением, работающим на порту 8888. Когда я нахожусь на гостевой машине, я набираю в браузере:
http://10.0.2.2:8888/Something.html и это работает.
Но в моем Something.html есть ссылки на javascript, например src = "http: // localhost: 8888 / webApp / someScript.js", и они явно не работают (из-за части "localhost").
Другая проблема в том, что сейчас я не хочу использовать относительный путь, только абсолютный. Также я не хочу менять localhost на Host Ip в своих ссылках
Может быть, есть какое-то решение, такое как переадресация портов или сетевая конфигурация виртуального окна, которое я могу ввести в своем гостевом браузере. http: // localhost: 8888 / Something.html

Спасибо за любые подсказки.

Ваша настоящая проблема заключается в том, что вы хотите делать то, что не имеет смысла для какого-либо веб-приложения, которое должно обслуживать все, что находится за пределами его машины: вам нужны ссылки, которые работают без уловок на клиентском компьютере, либо с относительными путями, где это применимо, либо без -local имена хостов.

Конечно, есть обходной путь:

Просто установите Putty в Windows и используйте его для создания переадресации портов с порта 8888 на вашем компьютере на порт 8888 в 10.0.2.2. Вы найдете множество ссылок на Google, которые объясняют, как это делается в Putty.

После этого вы можете просто подключиться к localhost:8888 и прочее должен работай.

Если вы вручную добавляете имя хоста для хоста в /etc/hosts (на хосте) и в %systemroot%\system32\drivers\etc\hosts (для гостя), вы можете использовать это имя в своем коде. И поскольку обе машины могут решить эту проблему, она должна работать. Как упоминал SvenW, это не способ решения этой проблемы, но он должен подойти для целей тестирования.

Пример hosts запись:

10.0.2.2 webapphoster

... а затем вы можете вызвать js:

src="http://webapphoster:8888/webApp/someScript.js"