我正在学习AWS中的网络负载均衡器,我一直在尝试使用安全层连接。
我创建了
- 类型网络的负载均衡器
- 我的应用程序的一个目标组(端口3000/TCP(
- 一个侦听器,用于具有TLS协议的端口443,作为默认操作,我将转发到上一个目标组。我还添加了我的域名证书
- route53中负载均衡器的别名
如果我键入https://www.this-is-an-example.com:443/home它应该代理到我的应用程序(在端口3000中运行(,但保持安全连接或使用https。但它不起作用。
当我执行curl https://www.this-is-an-example.com:443/home
时,我收到以下响应:curl: (52) Empty reply from server
如果我尝试使用PostmanError: socket hang up
我知道网络负载均衡器不关心https,但是,我如何在我的域中使用https,并能够访问侦听器并从客户端到负载均衡器使用https。
问题出在您的安全组上。您无法将安全组与网络负载平衡器关联,并且由于它们在第4层运行,因此必须确保目标实例具有允许从NLB/客户端访问目标的正确安全组。这取决于您使用的是实例目标类型还是IP目标类型。在实例目标类型中,源将是实际的客户端,端口应该是目标端口(3000(,而不是443。在IP目标类型的情况下,源将是NLB的IP,目标端口也是您的目标端口。您可以在这里获得更多详细信息