
개발 서버에서 작업하던 Django 프로젝트가 있고 이를 Ubuntu 프로덕션 서버로 이동하려고 합니다. 나는 "python Manage.py run_gunicorn 0.0.0.0:8000"을 성공적으로 시작했지만 일반 브라우저를 통해 연결하려는 시도는 다음과 같습니다.http://JonathansCorner.com:8000/시간이 초과되었습니다. ("telnet localhost 8000"을 수동으로 실행하고 GET 요청을 하면 적절한 HTML이 인쇄됩니다.) UFW가 비활성화됩니다.
외부에서 포트 80에서 Gunicorn을 사용할 수 있게 하려면 어떻게 해야 합니까?
답변1
고려해야 할 세 가지 사항이 있습니다.
첫째, 방화벽과 관련하여 다음과 같습니다.하다포트 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에서 실행되는 것처럼 보입니까? 그렇다면 이 트래픽을 허용하도록 보안 그룹을 수정해야 합니다.
셋째, 일반적으로 gunicorn을 직접 노출시키는 것은 좋은 생각이 아닙니다. Gunicorn이 현재 상태대로 수신하도록 localhost:8000
한 다음 적절한 웹 서버를 사용하여 요청을 Gunicorn으로 프록시합니다.
예를 들어, nginx를 설치하고그것포트 80에서 수신한 다음 의 gunicorn을 통해 요청을 프록시합니다 localhost:8000
.