Бродяга - Соединяющийся с django сервером от хоста

Я боролся с этим в течение многих дней. Его управление мной безумный, потому что все то время я, возможно, потратил разработку. Я установил django в VM Ubuntu, и я должен получить доступ к нему от хоста (Windows 10), но там, кажется, не способ получить доступ к нему. Я использовал puphpet для установки его, вот часть config.yaml файла, который определил сеть IP и хост:

            machines:
                vflm_zpwmfbk4aw05:
                    id: machine1
                    hostname: machine1.puphpet
                    network:
                        private_network: 192.168.56.101
                        forwarded_port:
                            vflmnfp_pjysbxl944a0:
                                host: '9346'
                                guest: '22'
                    memory: '2000'
                    cpus: '1'

Когда я выполняю django сервер как это:

python manage.py runserver 0.0.0.0:8000

Это хорошо работает, но нет никакого способа получить доступ к нему от хост-машины. Указание на мой браузер к 192.168.56.101:8000 дает мне 404 ошибки. Я попробовал все виды изменений этого, изменив порты, изменив IP.

Вот то, что находится в /etc/hosts файл:

127.0.0.1       machine1.puphpet        machine1
127.0.0.1       localhost
127.0.1.1       vagrant.vm      vagrant
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Вот файл интерфейсов:

$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp
pre-up sleep 2
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto enp0s8
iface enp0s8 inet static
      address 192.168.56.101
      netmask 255.255.255.0
#VAGRANT-END

Я работал на сканере портов 192.168.56.101, и это обнаруживает апачскую работу сервера порта 80, но ничего не обнаруживает на порте 8000. Это могло быть проблемой, apache2 мог использовать порт, который обычно использовал бы django сервер?

Править: Я думаю, что проблема состоит в том, что гостевой порт установлен на 22. Который является проблемой, потому что это портирует используемый другими сервисами, когда я пытаюсь выполнить django веб-сервер на ней, она говорит свое запрещенное. И настоящая проблема здесь состоит в том, когда я изменяюсь config.yaml файл, это ничего не изменяет, когда я перезагружаю VM. Ничто, что я делаю, к которому config.yaml файл имеет любой эффект. Есть ли своего рода кэш, который я должен очистить?

0
задан 3 January 2017 в 21:40

1 ответ

Я понял это. Проблема была с конфигурацией перенаправления портов. Я решил его путем добавления этого к Vagrantfile:

  config.vm.network "forwarded_port", guest: 8000, host: 3333

Это означает, что я могу соединиться с работой сервера порта 8000 на гостевой машине путем указания на мой браузер хост-машин на порт 3333. Так, например, я выполняю сервер на гостевой машине как это:

python manage.py 0.0.0.0:8000

Затем на моей гостевой машине, я могу получить доступ к нему путем указания на браузер на здесь:

127.0.0.1:3333
2
ответ дан 7 November 2019 в 05:21

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

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