使用 TCP TLS 到 Nginx 的 AWS 经典负载均衡器
Posted
技术标签:
【中文标题】使用 TCP TLS 到 Nginx 的 AWS 经典负载均衡器【英文标题】:AWS Classic Load Balancer with TCP TLS to Nginx 【发布时间】:2018-12-11 03:24:30 【问题描述】:我有一个为 TCP 负载平衡配置的经典 ELB。 它接受端口 443 上的连接并将请求转发到 ec2 的端口 443,在那里我有 nginx 监听 Tcp 连接。我已经为传入和传出请求配置了 TLS 连接。 我最初的意图是创建通过 TCP-TLS 通信的传递。 我有两个问题。
1) 如果这应该通过 TLS 流量,那么为什么 ELB 会强制我安装 TLS 证书? 2)好的,我已经在负载均衡器上安装了 ELB 证书,在 Nginx 上安装了另一个证书来终止 TLS。沟通将如何进行? 如果客户端向ELB发送TCP流,ELB会先解密数据,然后再用Nginx证书加密数据吗? 我之所以问这个问题是因为我在客户端收到 TCP 重置错误,并且数据永远不会到达 Nginx 服务器。
感谢有人帮助我。
谢谢, 马诺吉
【问题讨论】:
【参考方案1】:如果您想通过 TLS,您不会为 TLS 配置平衡器,因为它用于平衡器内部的卸载或双向终止——本质上与传递完全相反。
您只需为 TCP 配置平衡器。
此外,为您的应用程序推荐的解决方案是使用网络负载均衡器 (NLB),而不是经典的 ELB。
【讨论】:
以上是关于使用 TCP TLS 到 Nginx 的 AWS 经典负载均衡器的主要内容,如果未能解决你的问题,请参考以下文章
将 ZIP 文件发送到基于 REST 的 API,该 API 使用基于 Flutter 的移动应用程序托管在 AWS 上的 SSL TLS (https)