Доступ к локальному хосту извне?

Это, наверное, очень простой вопрос. Я подключаюсь по SSH к своему виртуальному серверу Ubuntu и запускаю веб-сервер django, работающий на локальном хосте:

Downloading/unpacking django
  Downloading Django-1.9.5-py2.py3-none-any.whl (6.6MB): 6.6MB downloaded
Installing collected packages: django
Successfully installed django
Cleaning up...
Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

April 13, 2016 - 14:16:19
Django version 1.9.5, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Сервер Ubuntu имеет статический IP-адрес [x.xxx.xxx.xxx], поэтому с другого компьютера в другой сети я пытаюсь получить доступ к указанному выше веб-сайту в браузере, используя этот статический IP-адрес:

x.xxx.xxx.xxx:8000

Но я получаю:

This site can’t be reached

x.xxx.xxx.xxx refused to connect.
ERR_CONNECTION_REFUSED

Итак, я предполагаю, что я не могу получить доступ к веб-сайту таким образом, и он доступен только на самом хосте, даже если хост имеет внешний/статический IP-адрес?

Изменить:

Ответ также находится в: https://docs.djangoproject.com/en/1.9/intro/tutorial01/#the-development-server

python manage.py runserver 0.0.0.0:8000

person u123    schedule 13.04.2016    source источник


Ответы (1)


Вам нужно запустить свой веб-сервер на 0.0.0.0:8000, тогда для доступа извне вы будете использовать либо IP-адрес, либо имя хоста. Использование 0.0.0.0 означает, что служба django будет прослушивать все настроенные сетевые интерфейсы.

Подробнее об 0.0.0.0 читайте в Википедии.

Другой ответ при сбое сервера может быть полезно.

person Shang Wang    schedule 13.04.2016
comment
ты не имеешь в виду 0.0.0.0:8000? См. docs.djangoproject.com/en/1.9/intro/ учебник01/ - person u123; 13.04.2016
comment
Да извините за опечатку. - person Shang Wang; 13.04.2016