Amazon web services 错误证书公用名称在AWS应用程序中无效

Amazon web services 错误证书公用名称在AWS应用程序中无效,amazon-web-services,rest,api,ssl,web-applications,Amazon Web Services,Rest,Api,Ssl,Web Applications,我有一个角弹簧启动应用程序。在后端(Spring Boot应用程序)中,我们能够在AWS负载平衡器上使用AWS罐装SSL证书(“example.com”),该负载平衡器侦听443端口上传入的https流量。另一方面,在前端(Angular应用程序),我有一个使用相同SSL证书的S3站点(“example.com”) 当我转到我的站点时,加载良好,并通过url显示https安全绿色标记(前端使用也使用SSL证书(“example.com”)) 但是,当我的前端转到负载平衡器的地址时,该地址如下所示

我有一个角弹簧启动应用程序。在后端(Spring Boot应用程序)中,我们能够在AWS负载平衡器上使用AWS罐装SSL证书(“example.com”),该负载平衡器侦听443端口上传入的https流量。另一方面,在前端(Angular应用程序),我有一个使用相同SSL证书的S3站点(“example.com”)

当我转到我的站点时,加载良好,并通过url显示https安全绿色标记(前端使用也使用SSL证书(“example.com”))

但是,当我的前端转到负载平衡器的地址时,该地址如下所示:

https://load-balancer-xxxxxx.us-east-1.elb.amazonaws.com
换句话说,当我的前端向后端请愿时,我得到以下错误:

net::ERR_CERT_COMMON_NAME_INVALID
如果这是原因,那么错误是因为我的站点的认证url不包含域*.amazonaws.com。如何防止浏览器说ERR\u CERT\u COMMON\u NAME\u无效?如有必要,前端将向发出请求

这是我的DNS配置:


注意:我已经安装了一个域SSL证书。

我已经在其他地方发布了这个答案,但我也想在这里发布

我已经花了大约一周的时间试图自己解决这些问题——我使用的是React,而不是Angular,但步骤应该是一样的

我是这样解决的,有些可能对你也有用。结果主要是配置问题

这里的关键之一是,您需要已经拥有一个域,并且您需要能够修改域的DNS。大多数主机都允许您这样做。因此,我拥有
www.example.com
,我需要做的是创建一个
CNAME
DNS记录来路由
ops.example.come
my site.my-aws-region-1.elasticbeanstalk.com

然后,当我在AWS Cert Manager中创建SSL证书时,我给它起的名字是
ops.example.com
,但理论上
*。example.com
也可以工作

然后,为了使HTTPS工作,负载平衡器必须在443上侦听HTTPS,并在80上通过HTTP路由到实例,这是整个过程的关键

Amazon试图告诉我这一点,但因为我是一个noob,而且他们的教程是我整个职业生涯中读过的最差的教程,他们实际上没有向internet公开任何安全端口。这其实很好,因为你的流量一直到负载均衡器都是加密的,然后,即使它不再是HTTPS,但它已经在amazon的服务器上了,所以它的安全性不会降低


希望这里有帮助

我已经在别处发布了这个答案,但我也想在这里发布

我已经花了大约一周的时间试图自己解决这些问题——我使用的是React,而不是Angular,但步骤应该是一样的

我是这样解决的,有些可能对你也有用。结果主要是配置问题

这里的关键之一是,您需要已经拥有一个域,并且您需要能够修改域的DNS。大多数主机都允许您这样做。因此,我拥有
www.example.com
,我需要做的是创建一个
CNAME
DNS记录来路由
ops.example.come
my site.my-aws-region-1.elasticbeanstalk.com

然后,当我在AWS Cert Manager中创建SSL证书时,我给它起的名字是
ops.example.com
,但理论上
*。example.com
也可以工作

然后,为了使HTTPS工作,负载平衡器必须在443上侦听HTTPS,并在80上通过HTTP路由到实例,这是整个过程的关键

Amazon试图告诉我这一点,但因为我是一个noob,而且他们的教程是我整个职业生涯中读过的最差的教程,他们实际上没有向internet公开任何安全端口。这其实很好,因为你的流量一直到负载均衡器都是加密的,然后,即使它不再是HTTPS,但它已经在amazon的服务器上了,所以它的安全性不会降低


希望这里有帮助

答案是肯定的。然而,你问题中的细节令人困惑,因此很难给出确切的答案。显示如何在dns服务器中配置和使用负载平衡器dns名称。这就是你的问题所在。AWS不验证后端服务中的dns名称。您可以在后端使用任何东西,因为证书仅用于加密,不用于主机名验证。好的,那么是否可以在前端和后端使用相同的证书?。。。以我的名义,我只有2条引用s3 bucket的cnames记录,我没有负载平衡器的记录,正如我在第一条评论中所说的“然而,你问题中的细节令人困惑,这使得一个可靠的答案变得困难。”一旦您提供了帮助您所需的详细信息,我将很乐意帮助您。@JohnHanley您帮助我更好地定义了我的问题。我已经用你要求的细节更新了答案是肯定的。然而,你问题中的细节令人困惑,因此很难给出确切的答案。显示如何在dns服务器中配置和使用负载平衡器dns名称。这就是你的问题所在。AWS不验证后端服务中的dns名称。您可以在后端使用任何东西,因为证书仅用于加密,不用于主机名验证。好的,那么是否可以在前端和后端使用相同的证书?。。。以我的名义,我只有2条引用s3 bucket的cnames记录,我没有负载平衡器的记录,正如我在第一条评论中所说的“然而,你问题中的细节令人困惑,这使得一个可靠的答案变得困难。”一旦您提供了帮助您所需的详细信息,我将很乐意帮助您。@JohnHanley您帮助我更好地定义了我的问题。我已经更新了你要求的细节