2016-03-08 8 views
1

У меня следующий вопрос с бродячей перенаправление портов:Vagrant перенаправление портов на окнах 10

Я установил бродягу на моем Windows 10 ноутбук с коробкой «hashicorp/precise64», созданный SSH закрытый ключ для входа в с замазкой и успешно вошли в систему с помощью SSH с параметрами:

IP-адрес 127.0.0.1 порт 2222

Это заставляет меня думать, что перенаправление портов работает на SSH. В Vagrantfile я настроил следующие строки:

config.vm.network "forwarded_port", guest: 80, host: 8181, 
    auto_correct: true 

на виртуальной машине, я установил пип, пип и я установил рамки бутылки:

sudo pip install bottle 

Затем я создал простой бутылка сценарий test.py из привета мира страницы:

from bottle import route, run, template 

@route('/hello/<name>') 
def index(name): 
    return template('<b>Hello {{name}}</b>!', name=name) 

run(host='localhost', port=80) 

, а затем запустил этот сценарий с

sudo python test.py 

Это началось успешно, и когда я вошел в другую сессию SSH и использовал curl для ее проверки, я получаю нормальный ответ на порт 80.

Но когда я пытаюсь получить доступ к этому скрипту с моего компьютера с Windows, я получаю сообщение об ошибке ERR_CONNECTION_RESET в Chrome и страница не работает.

Я уже пытался отключить брандмауэр в Windows 10 - не помогло. Что может быть причиной этой проблемы?

Спасибо!

ответ

0

Нашел ответ, спасибо одному моему другу.

Оказалось, что переадресация портов работает нормально, но проблема заключается в самом скрипте. Ключевым моментом здесь является следующая строка в test.py:

run(host='localhost', port=80) 

Благодаря этому мы создали бутылку, чтобы слушать запросы от локального сервера, но бродяга отправляет все запросы от машины Windows, как внешние для Ubuntu.

Таким образом, один из способов решить эту проблему (грубый один) будет просто установив следующую команду, вместо предыдущего:

run(host='0.0.0.0', port=80) 

Тогда все должно работать должным образом.

 Смежные вопросы

  • Нет связанных вопросов^_^