SSL应该在Nginx代理缓冲区还是Amazon Elastic Load Balancer处终止?

时间:2013-05-27 21:22:59

标签: django ubuntu nginx amazon-ec2 gunicorn

我有两台运行带有gunicorn的django的ubuntu机器作为我的Python HTTP WSGI服务器。我现在有一台ELB坐在这两台机器前面。

许多消息来源声称我应该将NGINX添加到我的堆栈以进行代理缓冲。但是我不知道应该放置Nginx的位置以及如何将其配置为指向ELB,而ELB又指向应用服务器。

               NGINX                                                ELB                        2 Django/Gunicorn Servers
(proxy buffering, prevents DDOS attacks) -------> (Load balances between two app servers) ------> (My two app servers)

此设置是否合适?如果是这样,我该如何配置呢?

2 个答案:

答案 0 :(得分:0)

NGINX有点成为单点故障。除非有理由这样做,否则我可能会将ELB放在nginx前面并在两台应用服务器上运行nginx(如果需要,可以在不同的服务器上运行)。

Web服务器还可以处理静态请求,这可能比您的应用程序堆栈更有效地处理。

答案 1 :(得分:0)

由于ELB具有固有的可扩展性和容错性,因此通常的做法是将它们放在前面。您可以将Web服务器连接到ELB。通过在顶部添加Nginx,您将带来单点故障。