怎么不ssl终止在NginX加载balacner

我想知道如何让NginX(负载均衡器)接受443上的流量并将其转发到负载平衡的Web服务器节点上的端口443.

我使用NginX作为负载均衡器,其中SSL终止发生在NginX级别.然后NginX将未加密的流量发送到我的网络服务端口80.

这是我目前的ngnx配置:

upstream appserver {
    server 10.0.1.132;
    server 10.0.1.243;
}

server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      /etc/nginx/cert.pem;
    ssl_certificate_key  /etc/nginx/cert.key;

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers   on;

    location / {
        proxy_pass http://appserver;
    }
}

我经历过:Nginx load balance with upstream SSL

我真正的问题是,如果我想让NginX在443上监听流量,那么我需要在nignx上配置ssl终结点.否则nginx服务将无法启动,并会抱怨缺少ssl证书/密钥.

简而言之,我希望Nginx能够简单地接受443上的流量,并在负载均衡的Web服务器节点上将其转发到443.然后让我的网络服务器执行SSL工作.

最佳做法是在负载均衡器级别进行SSL卸载,但我想做其他事情.

谢谢.

最佳答案 这需要NGINX上的第4层监听/路由,这显然不是
entirely
supported.NGINX似乎支持SNI,但由于某种原因我无法阻止它终止TLS连接.

我最终使用了HAProxy.

点赞