Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用上游SSL的Nginx负载平衡_Nginx_Ssl - Fatal编程技术网

使用上游SSL的Nginx负载平衡

使用上游SSL的Nginx负载平衡,nginx,ssl,Nginx,Ssl,正在尝试将Nginx设置为https服务器的负载平衡器。上游通过配置了SSL证书的端口443提供服务。如何配置Nginx,以便仅在上游服务器上而不是在Nginx服务器上处理SSL证书配置?您需要使用,以及。要将代理反向到https上游,请使用以下命令 proxy_pass https://backend; 其中后端是上行块 但是,如果我这样做,我会终止nginx服务器上的ssl,让上游应用服务器做他们擅长的事情:服务内容,而不是担心ssl加密/解密开销。在nginx上设置ssl终端也非常简单

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

您需要使用,以及。要将代理反向到https上游,请使用以下命令

proxy_pass  https://backend;
其中后端是上行块


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

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

我链接的讨论得出结论,HAProxy是SSL上游传递的更好工具。以下是我发现的有关为此目的配置HAProxy的信息。因为我没有HAProxy的经验,所以我无法总结其配置或解决方案的总体可行性,而将其留给读者

更新
由于1.9.2 Nginx支持HAProxy。

根据(1.9.4+)

任何示例配置,现在似乎都可以使用它了?我将“ssl\u错误\u rx\u记录\u过长”发送到浏览器,NGINX错误日志中没有任何内容。这是否解决了您的问题?不,我试过了。该示例中的配置文件定义了SSL证书,但我没有这样做(因为NGINX服务器上没有SSL证书)。当不尝试负载平衡,而纯粹代理到一个后端时,是否也需要上游模块?我能简单地拼出
proxy\u pass吗https://example.com
?OP要求“……不在Nginx服务器上”,因此他想要的是SSL传递;您建议上游SSL反向代理;我们还需要在Nginx上设置SSL证书。请发布解决此问题的配置,好吗?