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

Невозможно открыть веб-приложение на Amazon EC2, даже если порт открыт

у меня есть t1.micro экземпляр с общедоступным DNS, который выглядит примерно так:

ec2-184-72-67-202.compute-1.amazonaws.com

(некоторые цифры изменены)

В этом случае я запускаю следующее приложение Django:

$ sudo python manage.py runserver --settings=vlists.settings.dev
Validating models...

0 errors found
Django version 1.4.1, using settings 'vlists.settings.dev'
Development server is running at http://127.0.0.1:8000/

Я открыл port 8000 через консоль AWS

:

Когда я перехожу к следующему URL-адресу в Chrome, я получаю сообщение: Oops! Google Chrome could not connect to:

http://ec2-184-72-67-202.compute-1.amazonaws.com:8000

Что я делаю не так?

Netstat:

netstat -lan | grep 8000
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN 
>Development server is running at http://127.0.0.1:8000/

Похоже, что сервер настроен на ответ только на локальном хосте.
Проверьте свою конфигурацию Django и убедитесь, что она настроена для ответа на всех интерфейсах.

Обновить:

netstat -lan | grep 8000
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN 

Да, определенно проблема с вашими привязками. 127.0.0.1 вместо этого должен быть вашим общедоступным IP-адресом или 0.0.0.0 для всех интерфейсов.

Вам нужно привязать runserver ко всем портам .. по умолчанию он просто привязывается к localhost

 python manage.py runserver --settings=vlists.settings.dev 0.0.0.0:8000