首页 > 解决方案 > SSL AWS EC2 后端和 S3 前端

问题描述

我有一个在 S3 上运行的 VueJS 前端应用程序,用作静态网站。

我有一个 NodeJS(在 nginx 反向代理后面,加上一些其他服务)后端应用程序在 VueJS 应用程序(目前通过 http)与之通信的 EC2 实例上运行。

我有一个域成功地指向 VueJS 应用程序(S3 存储桶),并使用 Route53 / CloudFront / ACM 配置了 SSL 证书。

但是,现在 VueJS 应用程序将无法与 EC2 实例后端通信,因为它仍在使用现在不允许的 HTTP。

那么配置它的最佳方法是什么?我无法在 ec2 实例上运行 certbot 并为我的域生成 SSL 证书,因为 S3 存储桶已经使用了证书。

我应该只创建一个自签名证书吗?

我可以为子域创建另一个证书(api.example.com比如说)并设置 DNS 记录以指向我的 EC2 实例 IP 地址吗?

这通常是如何完成的,最佳实践是什么?

标签: amazon-web-servicessslamazon-s3amazon-ec2

解决方案


所以自签名证书不起作用,它不会通过验证,因为它背后没有已知的 CA(证书颁发机构)我的意思是你可以安装它,但浏览器会抱怨..

我不确定我理解为什么你不能使用 certbot .. s3 / ec2 是两个独立的服务,所以我在这里有点困惑?

您可以使用 letencrypt 为服务器生成证书并安装它,但如果您有集群,则可以通过在实际 ALB 上安装它来获得更好的服务,但是如果证书不是,这并不能确保端到端安装在所有后端系统上,(这将需要在集群中的所有系统上安装证书)您的要求将真正决定这一点。

如果您无法使用letsencrypt 生成证书,您可以从ssls.com 获取SSL,并且也可以在服务器/负载均衡器上安装PEM 或CRT。


推荐阅读