virtualbox - Как сделать & ldquo; localhost & rdquo; указать на хост & ldquo; localhost & rdquo ;?

Я знаю, что могу получить доступ к локальному хосту с помощью 10.0.2.2. Однако мне нужно иметь возможность набирать «localhost» в моем браузере VirtualBox Edge и указывать на localhost моего компьютера.

Я попробовал пару вещей с файлом host, но пока безуспешно. Можно ли даже делать то, что я хочу?

Ура!

1
задан 3 August 2019 в 22:42

2 ответа

TL; DR

Нет!Прошу прощения! Не может быть сделан!

Долгая версия:

Согласно RFC1122, разделите 3.2.1.3, localhost определяется как:

(g) { 127, <any> }
Петлевой адрес внутреннего узла. Адреса этой формы не ДОЛЖНЫ появляться вне хоста.

Таким образом localhost не может быть повторно отображен даже в /etc/host уровень файла как драйвер обходит host файл для того конкретного объекта.

Сказав вышеупомянутое, это - бесплатное программное обеспечение, таким образом, Вы имеете исходный код в наличии ядра Вам, но даже если бы Вы стали бы разработчиком ядра и начали бы создавать пользовательское ядро, которое позволило бы Вам делать это, Вы столкнетесь с тонной стандартных программ везде, которые примут localhost = 127.0.0.1 hardcoded так, чтобы просто было бы чрезвычайно трудным (=years работы), но поскольку Вы говорите Граничный Браузер, необходимо было бы получить Microsoft на стороне также и... хорошо...

Это не собирается происходить!:-(

Извините, отличная идея, но невыполнимый...

1
ответ дан 7 December 2019 в 14:59

Вы не можете изменить значение localhost само по себе, но вопрос на самом деле не в переназначении localhost, а в том, чтобы получить http://localhost:80 для загрузки порта 80 хост-ОС. Это, конечно, возможно!

В приведенных ниже примерах IP-адрес хоста в локальной сети — 10.0.2.2. Измените его, если у вас другой:

Если гость — Windows, вы можете использовать netsh portproxy. Запустите cmd.exe от имени администратора, затем введите

netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.0.0.1 connectaddress=10.0.2.2 connectport=80

, и теперь, если вы просматриваете http://localhost, он передаст запрос на порт 80 на хосте.


Если у вас не работает netsh / ваш гость не Windows, но у вас есть ssh доступ между гостем и хостом, вы можете запустить это из гостя: ssh - L 80:localhost:80 10.0.2.2 и теперь из гостя, если вы просматриваете http://localhost, он передаст запрос на порт 80 на хосте.

2
ответ дан 13 August 2020 в 11:59

Другие вопросы по тегам:

Похожие вопросы: