Nginx与上游SSL的负载平衡

时间:2013-03-13 19:39:49

标签: nginx

尝试将Nginx设置为https服务器的负载均衡器。上游通过配置了SSL证书的端口443进行服务。如何配置Nginx,以便只在上游服务器而不是在Nginx服务器上处理SSL证书配置?

3 个答案:

答案 0 :(得分:14)

您需要使用Upstream moduleReverse Proxy module。要将代理服务器反向上传到https,请使用此

proxy_pass  https://backend;

其中后端是一个uptream块。

但是,如果我这样做,我会在nginx服务器上终止ssl,并使上游应用服务器做他们擅长的事情:提供内容,而不是担心ssl加密/解密开销。使用SSL module在nginx上设置ssl终结也非常简单。还给出了一个非常好的案例研究here

答案 1 :(得分:5)

根据{{​​3}}(1.9.4 +)

现在似乎已成为可能

答案 2 :(得分:3)

据我在Nginx论坛上的reading relevant discussion所理解,这是不可能的,因为Nginx无论如何都需要终止上游SSL连接。如果您坚持使用Nginx,那么您只需复制SSL配置并使证书和密钥可用于Nginx。

我所讨论的讨论得出的结论是,HAProxy是SSL上游直通的更好工具。这里relevant post我发现了为此目的配置HAProxy的问题。因为我没有HAProxy经验,所以我无法总结其解决方案的配置或一般可行性,并将其留给读者。

更新

自1.9.2以来,Nginx支持HAProxy' proxy protocol