Nginx:设置SSL-passthorugh

时间:2017-11-03 10:20:05

标签: nginx

我正在尝试使用相同的nginx服务器(nginx版本:nginx / 1.13.6)为多个webapps配置SSL-passthrough,但是当重新启动nginx服务器时,我收到错误抱怨

  

nginx:[emerg]“stream”指令重复

我的配置如下:

ssl passthrough的2个文件如下所示:

server1.conf:

stream {
    upstream workers {
            server 192.168.1.10:443;
            server 192.168.1.11:443;
            server 192.168.1.12:443;
        }

    server {
        listen server1.com:8443;
        proxy_pass workers;
    }
}

和server2.conf:

stream {
    upstream workers {
            server 192.168.1.20:443;
            server 192.168.1.21:443;
            server 192.168.1.22:443;
        }

    server {
        listen server2.com:8443;
        proxy_pass workers;
    }
}

如果我删除了两个文件中的一个,那么nginx就会正确启动。

如何实现这一目标?

谢谢, 克里斯提

1 个答案:

答案 0 :(得分:0)

Streams在第5层上工作,无法读取加密流量(OSI模型上的第6层),因此无法区分server1.comserver2.com的请求,除非它们指向不同的IP

这可以通过以下解决方案之一来解决

  1. 解密nginx上的流量,然后使用HTTP代理传递给后端进程/ wockers。
  2. server1.com绑定到与server2.com不同的端口。
  3. 获取其他IP地址并绑定server2.com
  4. 获取额外的负载均衡器并在其中移动server2.com