Подтвердить что ты не робот

Пустой ответ с сервера - невозможно подключиться к vagrant vm w/port forwarding

Я запускаю werkzeug (как часть настройки Tilestache) внутри Vagrant VM, используя ubuntu 'exact.'

В моем Vagrantfile у меня есть:

config.vm.network :forwarded_port, guest: 8080, host: 8080

Когда я запускаю сервер в VM, я вижу:

 * Running on http://127.0.0.1:8080/

Если я curl, который адресует из VM, я получаю ожидаемый результат. Когда я curl от хост-машины, я получаю:

curl: (52) Empty reply from server

И Chrome говорит: "Нет данных".

Информация об устранении неполадок:

  • Сервер отвечает на пинги с главной машины
  • сниффер порта проверяет, что порт открыт.
  • running netstat -ntlp | grep 8080 в vm показывает, что сервер прослушивает 8080
  • Мой локальный файл hosts не имеет каких-либо странных конфликтов.
  • Я также переадресую 22 = > 2222, и я могу без проблем ssh,
  • Я отключил брандмауэр на хосте, и я не верю, что там на гостях (iptables и ufw отключены, по крайней мере)
  • Я установил auto_correct: true в случае возникновения конфликтов (их нет)

Я знаю, что могу настроить частную сеть, но я хотел бы понять, почему это не работает и как ее устранять.

Любые другие идеи?

4b9b3361

Ответ 1

При запуске сервера из виртуальной машины запустите сервер 0.0.0.0 вместо 127.0.0.1.

127.0.0.1 доступен только для локальной машины, что для виртуальной машины означает, что ничего за пределами VM не может ее достичь! 0.0.0.0 доступен из любой точки локальной сети, которая к VM включает в себя хост-машину.

Ответ пришел отсюда: Соединение Reset при переадресации портов с помощью Vagrant

(который, очевидно, получил свой ответ отсюда: fooobar.com/questions/60839/...)

С помощью: https://serverfault.com/questions/78048/whats-the-difference-between-ip-address-0-0-0-0-and-127-0-0-1

Google приманка:

Вот ошибки, которые вы могли бы получить, если это проблема:

  • Chrome: "Нет данных"
  • Firefox: "Соединение было Reset - подключение к серверу было Reset, пока страница загружалась."
  • Safari: "Safari не может открыть страницу [URL], потому что сервер неожиданно отключил соединение"
  • curl: "Пустой ответ с сервера"

Ответ 2

В строке изменения /etc/hosts
127.0.0.1 localhost → 0.0.0.0 localhost
и затем restart server

Ответ 3

Это также может быть проблемой с вашим брандмауэром на бродячей машине. Если вы можете скручивать адрес, находясь на брандмауэре, то проверьте свои настройки firewalld или отключите его:

на CENTOS:

sudo service firewalld stop