首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Angular AWS应用程序中的ERR_CERT_COMMON_NAME_INVALID

Angular AWS应用程序中的ERR_CERT_COMMON_NAME_INVALID
EN

Stack Overflow用户
提问于 2019-03-02 11:22:23
回答 1查看 1.1K关注 0票数 1

我有一个Angular - Spring Boot App。在后端(Spring Boot App)能够在AWS负载均衡器上使用AWS canned SSL cert("example.com"),该均衡器在443端口上侦听传入的https流量。另一方面,在前端(Angular应用程序),我有一个使用相同SSL证书(“example.com”)的S3站点。

当我转到https://example.com时,我的站点加载正常,并且在url旁边显示了https安全绿色标签(前端使用也使用了SSL证书(“example.com”))。

然而,当我的前端转到我的负载均衡器的地址时,它看起来像:

代码语言:javascript
复制
https://load-balancer-xxxxxx.us-east-1.elb.amazonaws.com

换句话说,当我的前端向后端发出请求时,我会得到以下错误:

代码语言:javascript
复制
net::ERR_CERT_COMMON_NAME_INVALID

那么错误是由于我的网站的认证url不包含域*.amazonaws.com ?的事实,如果这是原因。如何防止浏览器说ERR_CERT_COMMON_NAME_INVALID?如果有必要,前端将从https://examplehttps://load-balancer-xxxxxx.us-east-1.elb.amazonaws.com发出请求

这是我的DNS配置:

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

EN

回答 1

Stack Overflow用户

发布于 2020-08-06 20:48:58

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

我现在已经花了大约一周的时间尝试自己解决这些问题-我使用的是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,并通过HTTP在80上路由到实例。

亚马逊试图告诉我这一点,但因为我是一个新手,而且他们的教程是我整个职业生涯中读过的最糟糕的教程,他们实际上不会将你的任何安全端口暴露在互联网上。这实际上很好,因为你的流量一直到负载均衡器都是加密的,然后,即使它不再是HTTPS,它也已经在亚马逊的服务器上了,所以它的安全性丝毫不会降低。

希望这里有什么能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54954917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档