у меня есть 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