我想知道如何让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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。