尝试将Nginx设置为https服务器的负载均衡器。上游通过配置了SSL证书的端口443进行服务。如何配置Nginx,以便只在上游服务器而不是在Nginx服务器上处理SSL证书配置?
答案 0 :(得分:14)
您需要使用Upstream module和Reverse Proxy module。要将代理服务器反向上传到https,请使用此
proxy_pass https://backend;
其中后端是一个uptream块。
但是,如果我这样做,我会在nginx服务器上终止ssl,并使上游应用服务器做他们擅长的事情:提供内容,而不是担心ssl加密/解密开销。使用SSL module在nginx上设置ssl终结也非常简单。还给出了一个非常好的案例研究here。
答案 1 :(得分:5)
现在似乎已成为可能
答案 2 :(得分:3)
据我在Nginx论坛上的reading relevant discussion所理解,这是不可能的,因为Nginx无论如何都需要终止上游SSL连接。如果您坚持使用Nginx,那么您只需复制SSL配置并使证书和密钥可用于Nginx。
我所讨论的讨论得出的结论是,HAProxy是SSL上游直通的更好工具。这里relevant post我发现了为此目的配置HAProxy的问题。因为我没有HAProxy经验,所以我无法总结其解决方案的配置或一般可行性,并将其留给读者。
自1.9.2以来,Nginx支持HAProxy' proxy protocol。