У меня есть проект Django, который работал на сервере разработки, и я пытаюсь перенести его на производственный сервер Ubuntu. Я начал с очевидным успехом "python manage.py run_gunicorn 0.0.0.0:8000", но мои попытки подключиться к нему через обычный браузер указывали на http://JonathansCorner.com:8000/ истекает время ожидания. (Когда я вручную запускаю telnet localhost 8000 и отправляю запрос GET, он распечатывает соответствующий HTML-код.) UFW отключен.
Что я могу сделать, чтобы Gunicorn был доступен на 80-м порту извне?
У меня есть три вещи, на которые вы должны обратить внимание:
Во-первых, что касается вашего брандмауэра, похоже, что вы делать есть какой-то брандмауэр, так как порт 8000 "фильтруется":
~ nmap jonathanscorner.com -p 8000
Starting Nmap 6.40 ( http://nmap.org ) at 2014-01-14 09:53 CST
Nmap scan report for jonathanscorner.com (54.218.143.2)
Host is up (0.10s latency).
rDNS record for 54.218.143.2: ec2-54-218-143-2.us-west-2.compute.amazonaws.com
PORT STATE SERVICE
8000/tcp filtered http-alt
Во-вторых, похоже, что это работает на EC2? В этом случае вам необходимо изменить свою группу безопасности, чтобы разрешить этот трафик.
В-третьих, как правило, не рекомендуется подвергать огнестрельному оружию прямому воздействию. Попросите пулеметчика слушать localhost:8000
(как и вы), а затем используйте соответствующий веб-сервер для прокси-запросов к Gunicorn.
Например, установите nginx и Это прослушивание порта 80, а затем запросы прокси через пулемет на localhost:8000
.