我有一个在开发服务器上工作的Django项目,我正在尝试将它移到Ubuntu生产服务器上。 我已经开始了,取得了明显的成功,一个“python manage.py run_gunicorn 0.0.0.0:8000”,但我试图连接到它通过定期浏览器指向http://JonathansCorner.com:8000/是超时。 (当我手动运行“telnet localhost 8000”,并给出一个GET请求,它打印出适当的HTML。)UFW被禁用。
我能做些什么来让外面的港口80上使用Gunicorn?
我有三件事情要考虑:
首先,关于你的防火墙,看起来你有一个类似的防火墙,因为端口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上运行? 在这种情况下,您需要修改您的安全组以允许此stream量。
第三,直接暴露出枪炮通常不是一个好主意。 有gunicorn听localhost:8000 (像你一样),然后使用适当的networking服务器代理请求gunicorn。
例如,安装nginx, 让它监听端口80,然后通过localhost:8000上的gunicorn代理请求。