2

我正在尝试使用 Nginx 对 3 个启用 SSL 的 REST Web 服务实例进行负载平衡。

在我的情况下,我需要使用 SSL pass-thru。

我已关注https://www.cyberciti.biz/faq/configure-nginx-ssltls-passthru-with-tcp-load-balancing/

https://serversforhackers.com/c/tcp-load-balancing-with-nginx-ssl-pass-thru

但我在访问负载均衡器端点时没有得到默认的 json。

对于所有类型的请求,我都得到了如图所示的输出。

在此处输入图像描述

请帮助我。

4

2 回答 2

0

在关注https://www.cyberciti.biz/faq/configure-nginx-ssltls-passthru-with-tcp-load-balancing/时,我发现 proxy_ssl 开启;失踪。下面的流配置工作得很好,我们需要在http而不是https协议上访问 Nginx 服务器,但使用的端口是 8443。我需要弄清楚为什么它不能在https协议上工作。

stream {
    upstream apiservers {
        192.168.1.2:8443 max_fails=3 fail_timeout=10s;
        192.168.1.3:8443 max_fails=3 fail_timeout=10s;
        192.168.1.4:8443 max_fails=3 fail_timeout=10s;
    }

    server {
        listen 8443;
        proxy_ssl  on;
        proxy_pass apiservers;
        proxy_next_upstream on;
    }
}
于 2017-10-16T15:02:34.430 回答
0

看来,您已经在 Nginx 上启用了 HTTPS,但您托管的 REST Web 服务没有正确侦听 HTTPS 请求,因此 Nginx 返回的 5 倍响应不是由您的托管 Web 服务返回的。

您是否在 Nginx 中启用了 SSL 引擎?也请分享 Nginx 配置文件。

于 2017-10-16T13:51:17.840 回答