![Настройте гостевую систему Windows VirtualBox на соответствие разрешению DNS хоста Mac](https://rvso.com/image/1520105/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%82%D0%B5%20%D0%B3%D0%BE%D1%81%D1%82%D0%B5%D0%B2%D1%83%D1%8E%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%83%20Windows%20VirtualBox%20%D0%BD%D0%B0%20%D1%81%D0%BE%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B8%D0%B5%20%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8E%20DNS%20%D1%85%D0%BE%D1%81%D1%82%D0%B0%20Mac.png)
У меня уже есть запись пользовательского доменного имени в /etc/hosts
файле моего Mac, который я использую для локального тестирования. Я могу подключиться из браузера, используя http://dev.mysite.co:5000
.
127.0.0.1 dev.mysite.co
127.0.0.1 localhost
Я использую один из образов VirtualBox, которые Microsoft предоставляет для тестирования моего сайта в Edge. Я сталкиваюсь с проблемами CORS, поскольку мне приходится подключаться к своему локальному хосту с помощью http://10.0.2.2:5000
, поэтому я хотел бы повторно использовать настройки домена из моего /etc/hosts
.
Узел-сервер на моем локальном хосте прослушивает 0.0.0.0:5000
.
Я запустил эту команду, которая должна заставить гостевые ОС использовать DNS хоста, но я не могу загрузиться http://dev.mysite.co:5000
внутри своей виртуальной машины.
VBoxManage modifyvm "MSEdge - Win10_preview" --natdnshostresolver1 on
Эта команда все еще действительна? Что-то еще мне нужно сделать, чтобы это заработало?
решение1
/etc/hosts
Файл не является частью DNS-резолвера. Вы можете просто скопировать свой, /etc/hosts
но C:\Windows\System32\drivers\etc\hosts
это не сработает, потому что с точки зрения VM 127.0.0.1
это IP VM (loopback).
Чтобы это сработало, вам необходимо добавить в C:\Windows\System32\drivers\etc\hosts
следующую строку:
10.0.2.2 dev.mysite.co
который разрешит любой dev.mysite.co
запрос внутри виртуальной машины на IP вашего хоста (который, как я предполагаю 10.0.2.2
, - пожалуйста, проверьте IP адаптера виртуальной машины в ОС вашего хоста, например, через ifconfig vboxnet0
)