有必要在AWS上的ACM下为Nginx创建自签名证书吗?



我使用Nginx作为私有子网中的EC2上的反向代理。在公共子网中,我为域proxy.mydomain.test创建了一个ALB和一个ACM。

LB的目标组使用443端口,使用HTTPS协议。LB的监听器也在使用443端口和HTTPS协议,甚至ELBSecurityPolicy-2016-08ssl策略和ACM的证书arn。它的作用是使用forward

LB的监听规则的动作也是forward,host_header条件。全域proxy.mydomain.test

Nginx代理服务器的职责是指向内部子网中为另一个服务提供服务的ELB端点。所以它可能应该使用proxy_pass,然后我认为/var/www/html是不必要的。

那么关于EC2中的Nginx,有必要创建一个自签名证书吗?

并且,在Nginx的服务器侦听配置中,使用80或443来捕获入站?

这取决于您的架构。

  • 如果您的NGINX proxy是公共端点,它必须具有SSL证书。
  • 如果您的Load Balancer是公共端点,它必须有SSL证书

在这种情况下,您的Load Balancer内部配置,只允许内部VPC访问,因此HTTP流量(超过端口80)就足够了。但是对于最佳实践,您可以在任何层增强安全性,并将其设置为HTTPS,这是鼓励的。

出于安全考虑,对于公共端点,我们通常配置为将流量从端口80重定向到端口443

参考:https://linuxize.com/post/redirect-http-to-https-in-nginx/

通常您不需要在ALB和实例之间使用SSL/HTTPS,或者当您在VPC内路由流量时。所以你的流量是:

client ---(HTTPS)--->ALB----(HTTP)--->NGINX---(HTTP)--->ALB

通常您只加密从internet到ALB的流量。

最新更新