我在谷歌上找到的在 AWS 上运行 django 应用程序的典型设置都建议像这样的设置
ELB -> nginx -> gunicorn -> django
我想知道为什么这里真的需要 nginx 部分? ELB 不足以作为代理吗?
在我们的例子中,我们在 ECS 上的各个 docker 容器中运行多个 Gunicorn/django 实例。
最佳答案
如果没有 Nginx,它会工作得很好,而且您仍然可以免受大多数 DDOS 攻击,这些攻击会导致暴露的 gunicorn 服务器瘫痪。
我只能看到 Nginx 有助于将其添加到堆栈中,前提是它可以为您的静态文件提供服务。但是,最好通过 S3(+ cloudfront 作为奖励)为您的静态文件提供服务,因为它具有高可用性和可靠性。
资料来源:
http://docs.gunicorn.org/en/latest/deploy.html#nginx-configuration
https://stackoverflow.com/a/12801140
关于django - 直接将 AWS ELB 与 Gunicorn(无 nginx)一起使用有哪些缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46248179/