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

переадресация бродячих портов не работает без ошибок

Я пытаюсь настроить свой проект на виртуальной машине, чтобы я мог работать с ним с моей главной машины. Я настроил переадресацию портов в vagrantfile, и когда я запускаю vagrant up, все в порядке и ошибок нет. Но когда я пытаюсь получить доступ к своему приложению в виртуальной машине с хост-машины, я не могу. Мой бродячий файл действительно прост:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise32"
  config.vm.network :forwarded_port, host: 4567, guest: 8001
  config.vm.synced_folder "data", "/home/vagrant/projects/myapp/"

end

В начале я получаю следующее:

==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 8001 => 4567 (adapter 1)
    default: 22 => 2222 (adapter 1)

Похоже, все в порядке, но когда я пытаюсь получить доступ к 127.0.0.1:4567 со своего хоста (и запускаю свое приложение на гостевой машине на 127.0.0.1:8001), я получаю ERR_EMPTY_RESPONSE err_code в браузере. Что я делаю не так?

Во-первых, извините, если это не так, у меня нет репутации для комментариев.

Может быть, ваш сервис слушает 127.0.0.1 когда он должен слушать 0.0.0.0. Вы можете проверить это, выполнив эту команду на гостевой машине:

netstat -lnptu | grep ':8001'

В четвертом столбце вы должны получить 0.0.0.0:8001. Если это не так, поищите параметр привязки в запущенной вами службе.

PS: Если это сервер Sinatra (что я предполагаю по номеру порта хоста), взгляните на : привязать тема по этому страница.