如果 nginx 位于只能使用 https 访问的负载均衡器上的 ec2 实例中,我是否需要在 nginx 本身上配置证书?
Do I need to configure certs on nginx itself if nginx is inside ec2 instance on loadbalancer which can only be accessed using https?
我在负载均衡器上应用了证书,并且 https 工作正常,但我想知道我是否需要将证书添加到 nginx 本身,这似乎有点过分但我不确定。
不,您不必这样做。原因是您的负载均衡器 (LB) 将 termiante https 连接,使用您在其上部署的 SSL 证书对其进行解密,然后将 HTTP 连接转发到您的 ec2 实例。
因此,使用 HTTPS 的 LB 的典型连接具有以下形式:
client ---(HTTPS)---->LB---(HTTP)--->EC2 instance
此配置适用于大多数用例,因为 HTTP 流量发生在 AWS 私有网络,而不是通过互联网。
不,使用负载均衡器的好处之一是您可以从 public 互联网隐藏您的 EC2,使其不那么开放但更安全。
因此,通常做法是在 EC2 和负载均衡器之间使用 HTTP,因为它们位于同一 AWS 区域(安全且受信任的内部环境)。
这样做还可以提高性能,因为 https 网络开销在负载均衡器中只执行一次,而不是两次。您的 EC2 会将 CPU 资源集中在 运行 应用程序逻辑上。
负载均衡器也具有高可用性,可以配置为与 CloudFront 和 WAF 一起使用以实现安全和反 DDoS 控制。
我在负载均衡器上应用了证书,并且 https 工作正常,但我想知道我是否需要将证书添加到 nginx 本身,这似乎有点过分但我不确定。
不,您不必这样做。原因是您的负载均衡器 (LB) 将 termiante https 连接,使用您在其上部署的 SSL 证书对其进行解密,然后将 HTTP 连接转发到您的 ec2 实例。
因此,使用 HTTPS 的 LB 的典型连接具有以下形式:
client ---(HTTPS)---->LB---(HTTP)--->EC2 instance
此配置适用于大多数用例,因为 HTTP 流量发生在 AWS 私有网络,而不是通过互联网。
因此,通常做法是在 EC2 和负载均衡器之间使用 HTTP,因为它们位于同一 AWS 区域(安全且受信任的内部环境)。
这样做还可以提高性能,因为 https 网络开销在负载均衡器中只执行一次,而不是两次。您的 EC2 会将 CPU 资源集中在 运行 应用程序逻辑上。
负载均衡器也具有高可用性,可以配置为与 CloudFront 和 WAF 一起使用以实现安全和反 DDoS 控制。